This project solves sudoku puzzles using Constraint Propogation and Backtracking search. It will also identify if the puzzle has no solution.
Jason Israel
- Solutions for euler.txt:
483921657967345821251876493548132976729564138136798245372689514814253769695417382 245981376169273584837564219976125438513498627482736951391657842728349165654812793 462831957795426183381795426173984265659312748248567319926178534834259671517643892 137256849928314567465897312673542981819673254542189736256731498391428675784965123 523816749784593126691472835239145687457268913168937254342789561915624378876351492 176923584524817639893654271957348162638192457412765398265489713781236945349571826 143986257679425381285731694962354178357618942418279563821567439796143825534892716 487156932362498751915372864846519273593724186271863549124685397738941625659237418 814976532659123478732854169948265317275341896163798245391682754587439621426517983 761928453925743168438615927357461289894372615216589374689154732142837596573296841 976125438158436927423879156234761895867952314519384762782513649395647281641298573 962341758148975623573268149321694875487512936695837412834726591216459387759183264 397681524645279813218534976823956741169742358754318692472893165531467289986125437 639218457471539268825674139564823791793451826218796345352987614186345972947162583 697128345428635197315479682531246978286397451974581263149852736752963814863714529 361725948587964213492831657638259471174683592259147836746392185923518764815476329 359867124648312597712549836876924351524731968193685472931476285465298713287153649 786945312219863457534271869165482973327619548498537126951728634842356791673194285 743512986589346217126987345934251768671498532852763491398675124417829653265134879 782614359439825176651937428293471865568392714147568293326749581975183642814256937 428531796365947182971268435214896573697453218583172964849615327752389641136724859 425781936178369524369524187894157362652843791713692845987216453536478219241935678 348267951571943628269185374697351482123874596854629137415798263982436715736512849 124986735867435912395712684478359261259861347631274598712698453983547126546123879 361524789789361425524879361893157642412683597657942138148796253235418976976235814 581479263329156847647328159956731428238964571714582936172695384893247615465813792 387256419469781325512439867123548976758963241694127583835674192271895634946312758 345871269279653184861429537197346852452718396683592741738264915516937428924185673 235761489419328576867549213746135928521896734983472651394287165652913847178654392 298175643657394128134286579821649735573821496469753281312468957785912364946537812 761543289832791645549628137374215968128936574695487321417369852953872416286154793 132649785758213649964785123543897216276531894891426537619378452327154968485962371 698173542354628179172549368531897426946312857827456913765931284213784695489265731 852716943197843652463925187278634591645179328931582476786491235314258769529367814 453218796629753481178496532796582314314967825285134679542879163937641258861325947 516289347849173256732465918698317524327954861154826739961732485275648193483591672 945681723781234965326759184269175348138942576574863219457326891612598437893417652 365942871128756493974813562819435627537268149642179358296384715753691284481527936 134587296278169354695234817359816472821473569746925183917348625462751938583692741 193672485462358971785914623538296714674135298219487356826741539941523867357869142 814976532659123478732854169948265317275341896163798245391682754587439621426517983 384567921126439785759821346563798214847312659912645873231974568495286137678153492 469158372712463859538297641927634518385719426146582793653941287294876135871325964 316549278987321645452678931594236817238417569671985324845162793129753486763894152 586127943723469851491853267135974628279618534648532179917246385352781496864395712 954213687617548923832796541763851294128974365549362178281637459475129836396485712 159743862276589431348612759624978315917235684583164297435821976861497523792356148 861357294597482361432619785916275843358964127274138956789541632143826579625793418 294863517715429638863751492152947863479386251638512974986134725521678349347295186 351286497492157638786934512275469183938521764614873259829645371163792845547318926
Solutions for magictour.txt:
417369825632158947958724316825437169791586432346912758289643571573291684164875293 527316489896542731314987562172453896689271354453698217941825673765134928238769145 617459823248736915539128467982564371374291586156873294823647159791385642465912738 487312695593684271126597384735849162914265837268731549851476923379128456642953718 962314857134587269578296413847962531651873942329145786285639174793451628416728395 416837529982465371735129468571298643293746185864351297647913852359682714128574936 682154379951763842374892165437528916816937254295416738568271493729345681143689527 652481937834679152971325864467812593315794628298563471186937245523146789749258316 682153479951764832374892165437528916816947253295316748568271394729435681143689527 792351648543786129681429537157648293924137865836295471368572914419863752275914386 614382579953764812827591436742635198168279354395418627286157943579843261431926785 863521794127496853954387621645839172739142568281765439498653217512974386376218945 135426987846957321927381465213748659598163742674295813351674298482539176769812534 356871294972643851841952736213465987794318625685297413128736549569184372437529168 129576348376428519584391627293815764417263895865749132958632471731984256642157983 615382479943765812827491536752634198168279354394518627286157943579843261431926785 718435692963278541254961378547612839192387456386549127675893214421756983839124765 458276931623891475197534286371452698269783154845169327712948563986315742534627819 123759486874261593965384721216543978357896142498127365532478619641932857789615234 518476239427359618963821574795248361832617945146935827379564182651782493284193756 498716523257839461136425987971382654684157392523694718765241839319578246842963175 132479658847563291956281347413725869528196473769348125271854936394617582685932714 417369825638125947952748316825437169791856432346912758284693571573281694169574283 925371486163498725874562391542689137618753942739124658487915263351246879296837514 123456789649837251857291634274518963398672415561943827416725398985364172732189546 475691328961832745823754196259143687347586219618927534534269871796318452182475963 349526871521897643876413529718369254465281397932745186654178932187932465293654718 618342579943765182527891436752634891861279354394518627286157943179483265435926718 947582361863471952152639784624813579738295416519764823285946137396157248471328695 254379861761248593893516742326791458915824376487653219538167924142985637679432185 385621497179584326426739518762395841534812769891476253917253684243168975658947132 836521947142379586975648321364892715259167438781435269598214673413756892627983154 427593186315862479968174325659328714731649852284751963593287641842916537176435298 781942365324576918659831724815723496936154872247698153578369241162487539493215687 748392165369514728125876943932147856687235419514689372853461297476923581291758634 417369528839125746652748319925837461741956832386412957294683175573291684168574293 124597368369428517587361924293815746416273895875946132958632471631784259742159683 137926485964587231825341967241895673673412598589673142758164329396258714412739856 249865173531974268867132495423786519986251347715349826692518734354627981178493652 351846729287319645694725183168534972725198364943267518516483297832971456479652831 748591326195623847263487519421936758356874291987152634832749165679215483514368972 723469851651238794894715632375691428912874365486523917248356179137982546569147283 947628351863751492125349678734895126589162734612473985478236519256917843391584267 132467895957381246864529731429673158578912364613854972385296417241735689796148523 143587962852496731976321584214675398635819427789243615321764859468952173597138246 783465219421973658965281734347128596198546327652397481216854973534719862879632145 219675843865439721743281596936512487157348962428967135382754619671893254594126378 126739845847625391935481762213864579654973218798512436361248957489157623572396184 273681495891754263546392178169537824485269731327148956734916582958423617612875349 654312879913876452827495136742638591165729384398541627286157943471983265539264718 152738946864291375973645281216357498348912567597486123421863759639574812785129634 174589362953261784862347951219673845387415296546928173628194537495732618731856429 126478593837592461945361278412937856569184732783256914251649387374815629698723145 964815237258637149317924658872159364495263781631478925783596412529341876146782593 476529183895173624321864795517398246289645371634712958752431869168957432943286517 538127946624839751719645382965314827381762594247598163493281675856473219172956438 124597863937648215856231749513786492482913657769425138698374521341852976275169384 872459631154683972963721485216834759549217368738596124481362597627945813395178246 947326581852491673136587942284735169693812457715649238579168324328954716461273895 215876943678394215349125876587432169463981752192657384826743591734519628951268437 124397856835641297967825341241538769583769412679412538312974685498256173756183924 125976348369428517784351926253817694416293875897645132978532461631784259542169783 283741596615239748974865321397126854861453972452978613528394167736512489149687235 957638421146729385832541679419352768628417953375986142791265834583174296264893517 127365489853491276964278351231756894548932617679184523312547968485619732796823145 345671298987253146621984573264795831573816429198432657836529714712348965459167382 265389471874251693193647852327894165946125387518763249631578924452916738789432516 842359167573186942619274538127865394435791286968423715781942653354617829296538471 538219746962874531174356298283497615741568329695123874329645187857931462416782953 863751294957432681124689573532976148619843725748125936386217459295364817471598362 986324157124759368537861429413285976695173284278946513342617895869532741751498632 945671283136482597827593461614837952798125346253964178362759814581246739479318625 724369851651248793893715642375691428912874365486523917238456179147982536569137284 126437958895621473374985126457193862983246517612578394269314785548769231731852649 152946837963587421847231695574863912289415763631729548796152384415398276328674159 269314785548769231731852649126437958895621473374985126457193862983246517612578394 152678943864391752973245681215763894497582136638914527321856479549127368786439215 496573128381924675275861943153789462962435781847216539714352896529648317638197254 253479861761238594894516732326791458915824376487653219548167923132985647679342185 963741258152398674874265391345872169218956743697134825721489536589623417436517982 152398647973641285864572931598714362247936158316285794725463819431829576689157423 946731582157248639832659471719423865584976123623815947461397258398562714275184396 932475861617928534845613279568741392429836715173259648356192487294387156781564923 618459723342867519579123468296534187784291635153786294927648351861375942435912876 957261384846537921123489567734926815295814736618375492572198643481653279369742158 132749685857361924964285371216457839348692157579813246421536798683974512795128463 746513892132869754598742316367925481925481673481637925679154238254378169813296547 956327841127486395834951267548739612271864539369215478793548126415692783682173954 935748621876231594124695783512469378643872915789153462267514839491386257358927146 143258679872964153695137482986541327451372968237896514719623845564789231328415796 937658241864291735125734986583419627649372518712586493471963852396825174258147369 924361758156478293837592641613247985749185326582936174498623517371859462265714839 856491372143572698927368451278645139514923786639817245361789524485236917792154863 659412378238679451741385296865723149427891635913546782396157824574268913182934567 354186927298743615167952483481527369932614578576398241729865134845231796613479852