This Sudoku Solver is in BETA stage of development. If you find any problems or have any ideas for features please email me. Once this is a stable product I will post all the code under the GNU GPLv3 license.
This solver aims to provide step by step instructions on how to solve a Sudoku using proper solution techniques as opposed to using a brute force solver.
Puzzles can be manually input or generated for you.
Once a value is changed the puzzle solution will be automatically re-calculated.
The solver is run for every new input value and the solution list is displayed. If the panel background is red the puzzle is not solvable. It will turn white when there are enough given values to be able to solve the puzzle.
This list can be stepped through by repeatedly clicking on the 'Step' button. Or it can be automatically stepped through by clicking on the 'Play' button. The delay between each step can be changed by dragging the 'Time delay' slider to the left to speed it up and to the right to slow it down.
Clicking on a step in the list will change the puzzle to show the state just before this step is executed. The 'Step' button can be used to step from this point onwards.
Play can be paused, manually stepped through and then play resumed from the current location.
As a stand-alone system the application generates puzzles in the background building up a list of puzzles for each category. This allows the user to be able to quickly select another puzzle without having to wait for the generator each time a new puzzle is required. Background generation also works on the Applet version on this page however it will only generate puzzles whilst it has focus. Puzzles are generated on a trial and error basis so the more difficult the puzzle the less likely it is to be generated. If on starting the application you immediately try to load an Extreme puzzle there may not be one available (in which case a progress dialog will display until one is found) or it may be of poor quality. The longer the program runs the better the quality of the hard and extreme puzzles are likely to be. This feature has limited functionality when run as an applet as the background task only runs when the applet has focus.