Sudoku Program Solutions (Solvers)

For computer programmers it is relatively simple to build a brute force search. Typically this would assign a value (say, 1, or the nearest available number to 1) to the first available square (say, the top left hand corner) and then move on to assign the next available value (say, 2) to the next available square. This continues until a duplication is discovered in which case the next alternative value is placed in the last field changed. This isn't remotely computationally efficient, but it will work. A more efficient program could keep track of potential values for cells, eliminating impossible values until only one value remains for a cell, then filling that cell in and using that information for more eliminations, and so on until the puzzle is solved. This more closely emulates the way a human would solve the puzzle without resorting to trial and error, but coding the search for impossibilities based on contingencies and even multiple contingencies (as would be required for the hardest of Sudoku) is a daunting task.



Google
About Sudoku
Variations of Sudoku
Sudoku Solutions
Sudoku Solvers
Sudoku Construction
Sudoku Links

All text is available under the terms of the GNU Free Documentation License.
A more recent version of the text may be available here.