## Hidden Singles

Now the final value-setting strategy remains: Hidden Singles. The Hidden Singles strategy says that if a cell in a given row, column, or block is the only one to contain a candidate *x*, then the cell’s value must be *x*. Slicing and Slotting is a specific case of this strategy. For example, in Figure 4, although by simple candidate exclusion the highlighted cell may contain all values except for 5, 2, 1, 4, and 7, because it is the only cell in the block with 9 as a candidate, its value must be 9. As long as only one cell in a row, block, or column has a certain candidate available, that cell’s value must be that candidate’s value.

With the Sudoku framework described earlier, implementing this strategy is rather simple. For each empty cell in the puzzle, the program can compare the candidates of that cell with the candidates of all of the empty cells in that cell’s row, column, or block. For each of the cell’s candidate *x*, the program checks if any of the other cell’s candidate sets contain *x*, and if not, sets the cells value to *x*. That is all there is to it.