Fast Backtracking based Sudoku Solvers in Java and C++
Sudoku is a Japanese puzzle in which a 9x9 grid is partially filled with numbers from 1 to 9. A solution to this puzzle fills in the empty cells of the grid such that there are no repeating numbers in each row, each column and each 3x3 subgrid.
Backtracking Solver (depth-first, non-recursive) fills the grid starting from the cell that has the least possible valid values. For most instances, it reports all possible solutions to the input grid in a few milliseconds.
Sudoku Puzzle Generator
The puzzle generator generates random Sudoku puzzle instances. Generated puzzles have unique solutions. A blank sudoku grid is available here.