A Wasm Jczsolve Sudoku Solver

The fastest sudoku algorithm to date is jczsolve (C source code, see linked thread for authors). The solver on this page is compiled to WebAssembly from a further optimized implementation in Rust. The website's source code is from attractivechaos's javascript solver with minor adaptations. This wasm solver reaches roughly 50% of the native speed and is thus most likely the fastest web sudoku solver to date. For more information on Sudoku algorithms, see the Wiki page and attractivechaos's blog post.

To use this solver, you may input multiple puzzles in the textarea or one puzzle in the 9x9 grid, and then click the `Solve' button. Alternatively, you may select text in the textarea to fill the grid or write the puzzle string in URL, for example like this. Example inputs are also provided.

The HTML source code is distributed under the MIT open-source license. The Rust solver is licensed under the AGPLv3 open-source license with permission from the original authors. The wasm and js for the solver are licensed the same.

468931527751624839392578461134756298289413675675289314846192753513867942927345186 728946315934251678516738249147593826369482157852167493293615784481379562675824931 317849265245736891869512473456398712732164958981257634174925386693481527528673149 768942315934651278512738649147593826329486157856127493693215784481379562275864931 582743619963821547174956238621479853348562791795318426217635984439287165856194372 482731659963852417175964238621579843358426791794318526217643985539287164846195372 347516289258349176619872543591437628823961754476285931735198462182654397964723815 745896132928431756361725849519683427274159368836247591652378914483912675197564283 382514697145976832769238415421695378893147256657382941274853169936721584518469723 857629413924318657361754928248167539793485162516932784689271345172543896435896271 745896312928431756361527984519683427274159638836742591652378149193264875487915263 819462375632751489547839612178543926324697158956128743763215894291384567485976231 139648752758132964246795318461573289893426175527981436982357641674819523315264897 679325148283741965451986327598263714124857639736419582912534876867192453345678291 895476312426931857371528694569713428284659731137842569952387146713264985648195273 827569413964318527351724968248157639793486152615932784589271346172643895436895271 463957812927681345851324769386512974249736581715498236632845197594173628178269453 681243597573896412429715638264937185318562974957481326796124853832659741145378269 317584926526193847984762315672435198153829764849617253798246531265371489431958672 857962413924318567361754298548127936793486152216539784689271345175643829432895671 463957812927681345851324967386512794249736581715498236632845179594173628178269453 598723641374816952612549837237961485186354729459278316745682193863195274921437568 718925364935641278426738519167493825359286147842157693693514782281379456574862931 895476132426931857371825946569713428284659371137248569952387614643192785718564293 895476132426931857371528946569713428284659371137842569952387614613294785748165293 239847561614592738785613924396475812871329456542168379427951683163784295958236147 854926371326871954917543682789165423543297816162438795431782569675319248298654137 714956832925831746368724519459683127271549368836217495642375981583192674197468253 297543681435681927816927543129875436653419872748236195374158269562394718981762354 845967132926431857371528649569713428284659371137842596752386914613294785498175263 319624857562871943478395162721439586985762314643158729254983671197546238836217495 714956382925831746368427951459683127271549638836712495642375819193268574587194263 465389271827451396193267458278594613631872945954613782549136827786925134312748569 253678419647931582918524736861459273439782165725163894592317648184296357376845921 463758291179236548825491376247165983396842715518973624931687452684529137752314869 584729163396148257127536849612893574753214986948657321239475618871962435465381792 815674392426931857379528146561793428284156739937842561652387914743219685198465273 851439627937652481246718359793841265684527193125963874368195742572384916419276538 369841275854273619172659438521734986748962351936185724295316847483597162617428593 842715963573962841196834257768591432235487196419623578687249315354178629921356784 714596832925831746368427915459683127271945368836712459642379581193258674587164293 598613472126475983347829165614597328852341796739268514963184257481752639275936841 298456137156793248347812659564328971839571426721649583972134865485967312613285794 486923157597461283231587946945732618678159324312846795869274531153698472724315869 928576413674319528351824679249158736836497152715263894592681347183742965467935281 712935486384621597596874123849312675235786914671459238953267841467198352128543769 518263497672941853439875162387156924164729538295438671826394715751682349943517286 259164738174398625386725914623957481791482563845613297918576342467231859532849176 639752148287341965451986327598263714124875639376419582913524876862197453745638291 167852493924173568538496721453719682712568349896234175241387956685941237379625814 567492138239861745148375926623148579951736482874259361712983654396524817485617293 463957812927681345851324769386512974249736581175498236632845197594173628718269453 845697132926431857371825946569713428284956371137248569752389614493162785618574293 647321598895467312213589476536712984978634125421958763164893257382175649759246831 827639415954218637361754928248167359793485162516923784689571243175342896432896571 863427951549361872217895463354982716786513294192674538431758629678239145925146387 798635421126974583453218679972586314564123897381497256617352948835749162249861735 584923167697541283231687954356792418978164325412835796845279631769318542123456879 679143285453268197281759643715832964894516732362497851528674319946321578137985426 413865972628791345957324168396572814241638597785419236532946781874153629169287453 413865972628791345957324861396572184241638597785419236532946718874153629169287453 178462935924531768365897412239718654857643291416259387791325846683174529542986173 463598721928761453751234968376189542145327896289645317832456179597812634614973285 863427951549361872217598463384952716756813294192674538431785629678239145925146387 317564928428193567965782314872435196659817243143629785794256831286371459531948672 491862375387195264265374891159236487632487519748951632923748156816529743574613928 276845139415936728938127465764253981182769354359481672597312846821674593643598217 712935486384621597596874123849312675235786914671459238463297851957168342128543769 487312695593684271126597384735849162914265837268731549851476923379128456642953718 463957812927681345851324967386512794249736581175498236632845179594173628718269453 951476283284193567376258914835621749642937158719584326527869431498312675163745892 824935671567412893193768542251693487938274156746851329472386915619547238385129764 278359164694281573315467298829635417763142985541978326956714832432896751187523649 561729348423681975897534261942173856135896724678452139256318497719245683384967512 697315824384279516215468379728631495143952687569847231852194763431786952976523148 798123645462758391315649287546297138921834756837561924153986472689472513274315869 796834125812759634354216897289365741145978362673421958538647219427193586961582473 813425679569817342742936815621354987987162534435789261294673158176598423358241796 463598721928716453751243968376189542145372896289654317832465179597821634614937285 927315864384276591615498372798631425143952687562847913856124739431789256279563148 827659413964318257351724698248167935793485162615932784589271346176543829432896571 698321745531847296274956813765213489149785362382469571426138957857692134913574628 356128974471369825289475163512794386967832451843516792634287519795641238128953647 175638942398724165462951873846395721751246389239187654924863517587419236613572498 845697312926431857371528694569713428284956731137842569752389146613274985498165273 498653712251879436736142895927318654684795123513426987142587369375961248869234571 231576498576984213489123567892715346164832759357469821613247985725698134948351672

Unique solution

Solving 87 Sudokus in 0.146 seconds (0.0016 sec / Sudoku)

..............3.85..1.2.......5.7.....4...1...9.......5......73..2.1........4...9 .......12........3..23..4....18....5.6..7.8.......9.....85.....9...4.5..47...6... .2..5.7..4..1....68....3...2....8..3.4..2.5.....6...1...2.9.....9......57.4...9.. ........3..1..56...9..4..7......9.5.7.......8.5.4.2....8..2..9...35..1..6........ 12.3....435....1....4........54..2..6...7.........8.9...31..5.......9.7.....6...8 1.......2.9.4...5...6...7...5.9.3.......7.......85..4.7.....6...3...9.8...2.....1 .......39.....1..5..3.5.8....8.9...6.7...2...1..4.......9.8..5..2....6..4..7..... 12.3.....4.....3....3.5......42..5......8...9.6...5.7...15..2......9..6......7..8 ..3..6.8....1..2......7...4..9..8.6..3..4...1.7.2.....3....5.....5...6..98.....5. 1.......9..67...2..8....4......75.3...5..2....6.3......9....8..6...4...1..25...6. ..9...4...7.3...2.8...6...71..8....6....1..7.....56...3....5..1.4.....9...2...7.. ....9..5..1.....3...23..7....45...7.8.....2.......64...9..1.....8..6......54....7 4...3.......6..8..........1....5..9..8....6...7.2........1.27..5.3....4.9........ 7.8...3.....2.1...5.........4.....263...8.......1...9..9.6....4....7.5........... 3.7.4...........918........4.....7.....16.......25..........38..9....5...2.6..... ........8..3...4...9..2..6.....79.......612...6.5.2.7...8...5...1.....2.4.5.....3 .......1.4.........2...........5.4.7..8...3....1.9....3..4..2...5.1........8.6... .......12....35......6...7.7.....3.....4..8..1...........12.....8.....4..5....6.. 1.......2.9.4...5...6...7...5.3.4.......6........58.4...2...6...3...9.8.7.......1 .....1.2.3...4.5.....6....7..2.....1.8..9..3.4.....8..5....2....9..3.4....67.....

4...3.......6..8..........1....5..9..8....6...7.2........1.27..5.3....4.9........ 7.8...3.....2.1...5.........4.....263...8.......1...9..9.6....4....7.5........... 3.7.4...........918........4.....7.....16.......25..........38..9....5...2.6..... 7.8...3.....6.1...5.........4.....263...8.......1...9..9.2....4....7.5........... 5..7..6....38...........2..62.4............917............35.8.4.....1......9.... 4..7..6....38...........2..62.5............917............43.8.5.....1......9.... .4..1.2.......9.7..1..........43.6..8......5....2.....7.5..8......6..3..9........ 7.5.....2...4.1...3.........1.6..4..2...5...........9....37.....8....6...9.....8. .8..1......5....3.......4.....6.5.7.89....2.....3.....2.....1.9..67........4..... ......41.9..3.....3...5.....48..7..........62.1.......6..2....5.7....8......9.... 7.5.....2...4.1...3.........1.6..4..2...5...........9....37.....9....8...8.....6. 8.9...3.....7.1...5.........7.....263...9.......1...4..6.2....4....8.5........... 1...48....5....9....6...3.....57.2..8.3.........9............4167..........2..... 6.9.....8...7.1...4............6...4.2.....3..3....5...1.5...7.8...9..........2.. 8.5.....2...9.1...3.........6.7..4..2...5...........6....38.....1....9...4.....7. ......41.9..3.....3...2.....48..7..........52.1.......5..2....6.7....8......9.... 4.3.....2...6.1...8...........5..97.2...3.....1..........84.....9....6...7.....5. ..1.....7...89..........6..26..3.......5...749...........1.4.5.83.............2.. 3.7..4.2....1..8..9............3..9..5.8......4.6...........5.12...7..........6.. ......41.9..3.....3...5.....48..7..........52.1.......6..2....5.7....8......9.... 4.3.....2...6.1...8...........5..79.2...3.....1..........84.....9....6...7.....5. ....2..4..7...6....1.5.....2......8....3..7..4.9.........6..1.38...9..........5.. 7.8...3.....6.1...4.........6.....253...8.......1...9..9.5....2....7.4........... 8.5.....2...9.1...3.........6.7..4..2...5...........6....38.....4....7...1.....9. 8.5.....2...9.1...3.........6.7..4..2...5...........6....38.....1....7...4.....9. 2...4.5...1.....3............6...8.2.7.3.9......1.....4...5.6.....7...9...8...... .......71.2.8........5.3...7.9.6.......2..8..1.........3...25..6...1..4.......... 7.4.....2...8.1...3.........5.6..1..2...4...........9....37.....8....6...9.....5. ....4...1.3.6.....8........1.9..5.........87....2......7....26.5...94.........3.. 8.5.....2...4.1...3.........6.7..4..2...5...........9....38.....1....7...9.....6. .1.62....5......43....9....7......8...5.....4...1..........36...9....2..8....7... 7.4.....2...8.1...3.........5.6..1..2...4...........9....37.....9....5...8.....6. ...3.9.7.8..4.....1........2..5..6...3.....4.....1....5.....8......2.1.....7....9 ..36......4.....8.9.....7..86.4...........1.5.2.......5...17...1...9...........2. .......91.7..3....82..........1.5...3.....7.....9.......16...5...4.2....7.....8.. .8.....63....4.2............1.8.35..7.....9.....6.....2.9.7...........354........ 8.5.....2...9.1...3.........6.7..4..2...5...........6....38.....4....6...9.....7. .5.4.9......6....12.....3..7.3...2.....5...9.1.........68....4.....8........7.... 3..8.1....5....6.9......4..5..7...8..4..6...........2.2..3.........9.1....7...... .4.7...6...39............57.......3.2...8.....19...57.6...4.....5.1......2...6.84 7.4.....2...8.1...3.........5.6..1..2...4...........5....37.....9....6...8.....9. 5..6.3....2....98.......1...1..9.......3....67.......4....8.25.4..7.............. 2.8.5.......7...4.3........5...2.9.......1......6......7.1.4.6.......3.2.1....... ...9.31..5.7....8.2.........4....6......5..2..1.......8...7.......6..4.....3....9 ......41.6..3.....3...2.....49..8..........52.1.......5..6....7.8....9......3.... 7.....48....6.1..........2....3..6.52...8..............53.....1.6.1.........4.7.. 5.8.....7...9.1...4............5...4.6.....3..9....6...2.3...1.7...8..........2.. 2...6...8.743.........2....62......1...4..5..8...........5..34......1..........7. 6.9.....8...3.1...4............6...4.2.....3..7....5...1.5...7.8...9..........2.. .6..5.4.3.2.1...........7..4.3...6..7..5........2.........8..5.6...4...........1. 5.7....3.....61...1.8......62..4.......7...8...........1....6.43..5...........2.. 4.3.....2...6.1...8...........5..97.2...3.....7..........84.....9....6...1.....5. 8.5.....2...4.1...3.........6.7..4..2...5...........6....38.....9....7...1.....9. .....1..8.9....3..2........5......84.7.63.......9.....1.4....5.....7.6.....2..... ......41.9..2.....3...5.....48..7..........62.1.......6..5....3.7....8......9.... .6..2...1...3...7..1.......3.49.....7.....2........5.8....586.........4.9........ 7.....4...2..7..8...3..8..9...5..3...6..2..9...1..7..6...3..9...3..4..6...9..1..5 ...9.31..6.7....8.2.........5....4......6..2..1.......8...7.......3..5.....4....9 6..1...8..53.............4....8...6..9....7....24.........7.3.9....2.5..1........ 4.3.....2...7.1...9...........5..81.2...3.....8..........94.....7....6...6.....5. 4.3.....2...7.1...9...........5..18.2...3.....8..........94.....7....6...6.....5. 1..46...5.2....7......9.....3.7.8..........91...2........3..84.6........5........ 4.35...2.....61...7............895.....3..8..2...........4...7..9....6...1....... .6..2...1...3...7..1.......3.49.....7.....2........5.8....856.........4.9........ 3.7..4.2....1..5..9............3..9..5.8......4.6...........8.12...7..........6.. 4.1.6....3.....2........8..15.2.....6......1....9......2.7.8..........43.7....... ...8...3...5...7.....1.........5.9..18.......3..4.......7..2..6....7.5...4.....1. 7.....48....6.1..........2....3..6.52...8..............63.....1.5.1.........4.7.. 48.3............71.2.......7.5....6....2..8.............1.76...3.....4......5.... 4.3.....2...6.1...8...........5..79.2...3.....7..........84.....9....6...1.....5. .5..7..83..4....6.....5....83.6........9..1...........5.7...4.....3.2...1........ ....3..715..4.2............2..6..4...38.7..............7..8..1.6..5..2........... .7.3...6.....8.5...1.......8.96..4.....1.2...5...........7...324...9............. 56..2......3...9...............7..561......2...84........3.84..71..........9..... .9.3...2.....7.5...1.......7.86..4.....9.2...5...........1...634...8............. 7.8.2...........913.........46..........3.7.....5......5.9.6......4...1.2.....8.. 7...3........5.6....4....9.2.....7.1...9.8......4.....53....2.....1...8..6....... ..3...67.5.....3...4.......6..3......8......4...7....12......5.....98.......41... 4.35...2.....16...7............895.....3..8..2...........4...7..9....6...1....... .2.3...6.....7.5...1.......7.86..4.....9.2...5...........1...394...8............. ......41.9..3.....3...2.....48..7..........62.1.......5..2....6.7....8......9.... 6.....7.5.3.8................52.3.8.1.9.........4.....42...........9.1......7.6.. .5.1.8.7.4..3.....2.........1.7...8.9.....4............3.....1.....4.2......5.6.. ...6..9.23.87.....4............95..17......8...........2..6.5.....4...3..1....... 8.5.....2...4.1...3.........6.7..4..2...5...........6....38.....1....9...9.....7. ...6.37...51...........2.......1..546..7............8.14.58....3.....2........... ..1.....8...9..2.......3.......15.4..6....7..3............4..8572.6.....9........