A sudoku solver.