A Sudoku puzzle places digits in a grid while preserving distinctness in every row, column, and three-by-three block. A solver fills one cell at a time, testing numbers from 1 through 9 and using recursion to advance through the grid. section 15.10
Input and solution
A file containing zeros or dots for empty cells is read into the grid. The program prints the starting puzzle and, when solving succeeds, prints a completed grid; otherwise it reports no solution.

