![]() |
Sudoku Solver for Android Check out the App features.
|
SudokuWiki.org
Strategies for Popular Number Puzzles
|
Sudoku Solver |
Please report any bugs and feedback welcome
|
Candidates can be Edited Highlighted Chained / Shown | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Enter clues or solutions |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Update concerning a new String Definition used in this solver for transporting puzzles
Quick help: Using this Solver
Use the "Import a Sudoku" button or type in a Sudoku puzzle in the small board. You can also pick examples from the list above. Click on Take Step to step through the solution. Unknown squares are filled with 'candidates' - possible solutions. Any cells that are reduced to one possible candidate are solved. You can now use the << button to step back one go. Toggling between Take Step and << helps you see the changes. Pressing "Enter" on the keyboard after clicking on Take Step is a quick way to activate "Take Step". Details of any solutions will be written out in the text box below the big board. Strategies are ordered by complexity. Any strategy that is successful returns the step-through to the start. Click on the board to highlight sets of numbers. You can edit the sudoku at any time - entering solutions in the small board or editing candidates. (Toggle between highlighting and editing using the radio buttons at the top.) |
|
|
|
Welcome to my Sudoku pageSince I first studied Sudoku in May 2005 I think I've finally got a handle on this puzzle. My original intention was to prove to myself that a small number of simple strategies existed that could solve every sudoku. How wrong I was. Sudoku has enormous depth and while this solver has grown up enough to crack 99.9% of puzzles there are many weird and wonderful examples that defeat it. The main reason to keep this solver in development is to analyse these difficult ones. To that end I've added new graphical tools and features which I hope you'll enjoy. Version 1.30 is a major update since I've found a way to include all the advanced strategies in my off-line C++ solver that were simply not possible to program in Javascript. Much still remains in javascript but it's mostly user interface stuff now. I am continuing to document the various strategies that I and many other people have invented. These are available here. But in some cases progress has outstripped the documentation and I can only provide links to the best resources. I've tried to give credit where credit is due. Please update me if I have missed anyone or need to make a correction. I am now working independently on puzzle creation, especially at www.str8ts.com. All feedback, comments, arguments, bug reports and strategy ideas are welcome. There is a FEEDBACK form with a column displaying comments and questions. Many thanks to all the people who have done so and helped improve this solver. Original version 1.01 28th May 2005 - Full version history here New in version 2.09 (December 12th 2021) Added detection for Shye's Fireworks New in version 2.08 (September 28th 2019) Added detection for Gurth's Symmetrical Placement Theorem. Select Shining Mirror to view this in action. Many people have written to me to comment about multiple solutions for a given Sudoku. There are no logical tricks the solver can use to detect this other than to not complete correctly. The only way to check this is to perform a brute force analysis which tests every possible legal placement of a number. Computers are good at this and we now have a new yellow button called "Solution Count". Try this on any Sudoku to check whether it has a unique solution. |
Detailed helpUse Clear to empty the board before entering your own puzzle. Save will remember the current state of the board so you can Reload it again (even if you close your browser - you must allow cookies for this to work). Restart applies only to the example puzzles in the list. The current list contains an example puzzle that tests each strategy. Take Step first displays the possibles or candidates for each unknown cell. These are the numbers that do not contradict any known or solved cells. Once these are displayed Take Step will step through other tests and then loop until it can go no further. The first few tests are the most productive and the solver will often loop between them. If any are successful and the board is changed in any way it will go back to the start and "Check for Solved cells". The reason for this step is to make it easier to spot what's changed. Many of the strategies have knock-on effects which means that they can't be run back-to-back - it's essential that we return to the basic steps. We go back because we want the easiest solve route. > The first six tests are the simplest and are required for any sudoku. After that you are allowed to choose which strategies the solver will use. Tick and untick the check boxes. > The order of these advanced strategies - and my inclusion of them in categories 'tough', 'diabolical' and 'extreme' are my personal choice after close study and are roughly in order of complexity. While the logic is different for each, you should be aware that there is considerable overlap in their power to solve in certain situations. For example, X-Cycles are a subset of Alternating Inference Chains. If you turn off X-Cycles the same elimination might turn up under AICs. Since March 2010 I have reworked most chaining strategies to find the best and shortest chains - not necessarily the first one it happens to find. More about what is 'best' will be posted as a document. > All strategies in the list have links to documentation, but it's worth describing what the first tests do:
|