I'm not sure that's the finite lookup table he's talking about. Within the last year we talked about Peter Norvig's sudoku solver:
https://norvig.com/sudoku.htmlHe starts by generating a table where each cell is represented by a data structure that enumerates all of the legal values in that cell. The options. Then there is code that can find all the peers of a cell (same row, same column, same square).
Turns out that most 'easy' and many 'moderate' puzzles can be solved by starting with a list of all cells with one option.
For each cell:
* solve the cell
* for all peers, eliminate that value from their options
* for all peers with one remaining option, recurse
I believe that's quadratic time, and intuition tells me breadth-first converges faster.
After that, Norvig reaches for brute force, under the theory that this has already gotten you so close to the solution that it's not worth implementing and debugging more complex constaint logic. But I think that despite his claims that Sudoku is a disease, I think this is a taunt; it simply encourages you to go into a more sophisticated process of elimination.
Single elimination: Any option that only has one cell in a row, column or square: solved.
Double elimination: If a pair of peers have only the same two options, then eliminate that option from all of their common peers. Solves nothing, but may solve other cells.
Triple and Quadruple elimination: same thing, but progressively rarer.
Quintuple elimination: I don't recall why, but it was asserted that since this is more than half of 9, any time this happens a simpler constraint is also true.
I believe that covers all of the moderate difficulty puzzles and the occasional hard ones. From there there's a whole array of other constraints you can implement. You can either do it yourself as an exercise, or there are whole websites dedicated to these rules.