Simple Techniques for Sudoku

Full House

A house (row, column, nonet...) is almost full when it only has one unsolved cell left. It is very easy to spot, but occurs mainly when the grid is almost solved.

This technique is used mostly to generate or rate easy grids and is not really useful otherwize. Indeed, the cell is both a hidden and naked single.

Last Digit

All cells for some digit are placed in the grid except for one cell. It is very easy to spot even without pencil marks.

This technique is used mostly to generate or rate easy grids and is not really useful otherwize. Indeed, the cell is a hidden single for all its houses.

Hidden Single alias Pinned Cell

These are the unsolved cells which are the only place where some value may go in a house: row, column, nonet...

In this example, all the cells which may have a 2 are highlighted. R5C4 is the only cell in N5 which may have a 2, so it is set to that value. Notice this it is also the only cell in C4. R7C8 is the only cell in N9 (and in R7) which may have a 2. Setting R7C8 to 2 will prohibit R23C8 to be 2 and then reveals a hidden single in R3C7 since it becomes the only cell in R3 which may have a 2.

The log will list hidden singles as cell = value (hidden single in house).
For this example this gives R5C4 = 2 (hidden single in N5) which means the cell at row 5, column 4 is set to 2 since it's the only cell where a 2 may go in nonet 5 (central block).
You may disable this message by turning off Options > Log Hidden Singles

The search order is based on the number of cells for each possibility: fewest to largest. When there is only one cell left in the whole grid for some possibility, it is the Last Digit and is always caught first.

When the solver found a hidden single for some value, it will set its value and repeatitly search for other hidden singles for that value. In the above example, it will set R5C4 = 2, R7C8 = 2 which reveals R3C7 = 2. This should somehow mimic the typical path taken by a human to solve easy puzzles, focusing on some digit, before switching over another digit.

This technique is extended for Killer Sudoku

Naked Single alias Forced Move

These are the unsolved cells with a single possibility or candidate.

This is easy to spot when the pencil marks are displayed, there is only one big number displayed in green in the cell.

In this example R6C6 is forced to 9 since it is the only value it may have. All other values are already present in its buddies: either in R6, C6 or N5. Similarly, R8C8 is forced to 6.

You may choose Solve > All Naked Singles to repeatly solve every naked single until none is found or the grid gets solved.
After Solve > Deduce One Move, all naked singles will be solved until none is found. You may disable this by turning off Options > Solve all Naked Singles after Deduce

The log will list naked singles as cell = value.
For this example, this gives R6C6 = 9 which means the cell at row 6, column 6 is forced to 9.
You may disable this message by turning off Options > Log Naked Singles

Intersections Removal alias Row-Column Block Interactions, Locked Candidate, Pointing, Claiming...

This solver will search for some value locked in a mini-row, mini-column or mini-diagonal of a nonet and consequently cannot go in the rest of the row, column, nonet or diagonal .

In this first example, all the cells which may have a 3 are highlighted. The 3 of N8 must go somewhere in R7C45. Although we don't know yet which of the two cells will contain the 3, we know it must go in the mini-row at the intersection of R7 and N8: R7C456. Since N8 must have a 3 in these, no other cell of R7 may have a 3. This can also be deduced the other way: all cells of R9 which may have a 3 are within N9, therefore no other cell of N9 may have a 3. Whichever the way, R7C9 can't be 3. There is another intersection with C7 and N6. The 3 of N6 is locked in the mini-column R456C7, therefore no other cell of C7 may have a 3, so R9C7 can't be 3.

Here is another example, this time a Diagonal Sudoku where all cells which may have 5 are highlighted. The 5 of D/ is locked into N3. Therefore no other cell of N3 may have a 5, R3C9 can't be 5.

The log will list intersection as X of houseA locked in houseB -> not elsewhere in houseB.
For the first example, this gives : 3 of N8 locked in R7C45 -> not elsewhere in R7.

The solver does not stop at the first useful intersection found, but continues searching for more efficient intersections. The efficiency compares the newly hidden or naked singles revealed. If no single is revealed, the efficiency then compares the number of possibilities / candidates removed.

This solver is extended for Killer Sudoku

Naked Pairs, Triplets, Quads, Subsets

A naked pair is formed by 2 cells in a house which may have only 2 possibilities. A house can be a row, column, nonet (block)...

In this example, R1C12 forms a naked pair on {12} within R1. We don't know yet which cell will have which value, but whichever the case, one cell must have 1 and the other 2. Therefore, no other cell in R1 may have {12}. The same applies to N1, since the two cells are also within N1. The solver will remove in one go the possibilities {12} from the other cells for both R1 and N1.

A naked triplet is formed by 3 cells in a house which may have 3 possibilities. Some cells may miss one possibility. In this example, R1C12+R2C1 forms a naked triplet on {789} within N1. We don't know yet which cell will have which value, but whichever the case, one cell must have 7, another must have 8 and the third must have 9. Therefore, no other cell in N1 may have {789}. Notice that the 7 is locked in R1C12 and the 9 is locked in R12C1. This might later be deduced by the Intersections solver.

This may be extended to naked quad: 4 cells with 4 possibilities. Or more generally a naked subset: N cells with N possibilities.

The solver will first search for naked pairs, then triplets, quads... It does not stop at the first useful subset found, but continues searching for more efficient subsets, but not for larger subsets. The efficiency compares the newly hidden or naked singles revealed. If no single is revealed, the efficiency then compares the number of possibilities / candidates removed.

The log will list naked subsets as cells forms a naked subset on {...} within house. Removing these possibilities from the other cells of houses.
For the first example this gives: R1C12 forms a naked pair on {12} within R1. Removing these possibilities from the other cells of R1, N1.

This solver is extended for Killer Sudoku
See also Generalized Naked Subset

Hidden Pairs, Triplets, Quads, Subsets

A hidden pair is formed by 2 cells which are the only 2 places where 2 possibilities may go in a house: row, column, nonet...

In this example, R12C8 forms a hidden pair on {58} within N3. These are the only 2 cells in N3 where a 5 and a 8 may go. We don't know yet which value will go in which cell, but whichever the case, the 5 of N3 must go in one cell and the 8 of N3 in the other. Therefore the two cells may not have any other value and their possibilities are limited to {58}.

This may be extended to hidden triplets, quads... As for naked subsets, not all cells need to have all values of the hidden subset.

The solver will first search for hidden pairs, then triplets, quads... It does not stop at the first useful subset found, but continues searching for more efficient subsets, but not for larger subsets. The efficiency compares the newly hidden or naked singles revealed. If no single is revealed, the efficiency then compares the number of possibilities / candidates removed.

Note: In a house which must contain every digit once: a row, column, nonet, diagonal... (but not a cage), a hidden subset will always have a naked subset of the complementary size and vice-versa. In the example here over, the hidden pair on {58} has a complementary naked subset on {1234679} (with {36} already set). The subsets solvers will not search for naked or hidden subsets with more elements than half the grid size since there is always a complementary subset of smaller size. For 3x3 sudoku this is limited to naked and hidden quads.

The log will list hidden subsets as cells = {...} (hidden subset in house)
For this example, this gives: R12C8 = {58} (hidden pair in N3)

This solver is extended for Killer Sudoku


Simple Techniques | Fishes & Single Digit | Wings | XY-Chains, Loops & ALS | Uniqueness | Jigsaw, Windoku & Gatai | Greater/Less Than & Non-Consecutive | Killer | Innies/Outies | Advanced Killer | Square Wisdom | Contents

Copyright (C) 2006-2008 Jean-Christophe Godart. All rights reserved.