Looking only for cells with one candidate, which identifies a Naked Single instead.
Sudoku technique · Foundation
Hidden Single
A Hidden Single appears when a digit has only one legal position in a row, column, or box, even if that cell has other candidates.
Learning order
Topic relationships
These links express the same learning and proof relationships used throughout the library.
- Teaching aliasLast Remaining Cell
- Uses candidate language fromCandidate Notes
Verified example
Work through the example
R1C1: empty | R1C2: empty | R1C3: empty | R1C4: given 44 | R1C5: empty | R1C6: given 66 | R1C7: target candidates; Before 3, 5, 7 | R1C8: empty | R1C9: given 99 |
R2C1: given 44 | R2C2: empty | R2C3: given 66 | R2C4: given 77 | R2C5: empty | R2C6: empty | R2C7: given 11 | R2C8: given 22 | R2C9: empty |
R3C1: given 77 | R3C2: given 88 | R3C3: empty | R3C4: given 11 | R3C5: empty | R3C6: empty | R3C7: empty | R3C8: empty | R3C9: empty |
R4C1: empty | R4C2: empty | R4C3: empty | R4C4: empty | R4C5: empty | R4C6: given 77 | R4C7: given 88 | R4C8: empty | R4C9: given 11 |
R5C1: empty | R5C2: empty | R5C3: given 77 | R5C4: given 88 | R5C5: given 99 | R5C6: empty | R5C7: given 22 | R5C8: given 33 | R5C9: empty |
R6C1: given 88 | R6C2: empty | R6C3: empty | R6C4: empty | R6C5: given 33 | R6C6: empty | R6C7: empty | R6C8: empty | R6C9: given 77 |
R7C1: empty | R7C2: empty | R7C3: empty | R7C4: given 66 | R7C5: given 77 | R7C6: empty | R7C7: given 99 | R7C8: given 11 | R7C9: given 22 |
R8C1: empty | R8C2: given 77 | R8C3: given 88 | R8C4: empty | R8C5: empty | R8C6: empty | R8C7: empty | R8C8: empty | R8C9: given 55 |
R9C1: given 99 | R9C2: empty | R9C3: empty | R9C4: empty | R9C5: empty | R9C6: empty | R9C7: empty | R9C8: given 77 | R9C9: empty |
R1C7 has derived candidates 3, 5, 7. Place 7.
- Target cell
- R1C7
- Derived candidates
- 3, 5, 7
- Verified result
- Place 7
- Reviewed unit
- Row 1
- Choose one row, column, or box and one digit missing from it.
- Inspect every empty cell in that unit.
- Rule out cells where the digit conflicts with their other units.
- If only one legal position remains, place the digit there.
Fixed practice
Track one digit at a time and cross out every position blocked by its row, column, or box.
Fixed practice · R2C3
R1C1: given 11 | R1C2: empty | R1C3: empty | R1C4: empty | R1C5: given 55 | R1C6: given 66 | R1C7: empty | R1C8: empty | R1C9: empty |
R2C1: empty | R2C2: given 55 | R2C3: target candidates; Before 2, 3, 4, 6 | R2C4: given 77 | R2C5: given 88 | R2C6: empty | R2C7: empty | R2C8: empty | R2C9: empty |
R3C1: empty | R3C2: given 88 | R3C3: given 99 | R3C4: empty | R3C5: given 22 | R3C6: empty | R3C7: empty | R3C8: empty | R3C9: empty |
R4C1: empty | R4C2: given 33 | R4C3: empty | R4C4: given 55 | R4C5: empty | R4C6: empty | R4C7: empty | R4C8: empty | R4C9: given 11 |
R5C1: given 55 | R5C2: given 66 | R5C3: empty | R5C4: empty | R5C5: empty | R5C6: empty | R5C7: empty | R5C8: given 33 | R5C9: given 44 |
R6C1: given 88 | R6C2: empty | R6C3: given 11 | R6C4: empty | R6C5: empty | R6C6: given 44 | R6C7: given 55 | R6C8: empty | R6C9: empty |
R7C1: given 33 | R7C2: empty | R7C3: empty | R7C4: empty | R7C5: empty | R7C6: given 88 | R7C7: empty | R7C8: empty | R7C9: given 22 |
R8C1: given 66 | R8C2: given 77 | R8C3: empty | R8C4: given 99 | R8C5: empty | R8C6: empty | R8C7: empty | R8C8: given 44 | R8C9: empty |
R9C1: empty | R9C2: given 11 | R9C3: empty | R9C4: empty | R9C5: empty | R9C6: given 55 | R9C7: empty | R9C8: empty | R9C9: empty |
R2C3 has derived candidates 2, 3, 4, 6. Place 6.
- Target cell
- R2C3
- Derived candidates
- 2, 3, 4, 6
- Verified result
- Place 6
- Reviewed unit
- Column 3
Common mistakes
Common mistakes
Declaring an only position before checking every empty cell in the selected unit.
Review information
What is verified here
The verifier tests the chosen digit in every empty cell of the selected unit and accepts the move only when exactly one legal position exists.
- Fixture ID
- p2-hidden-single-row-01 / p2-hidden-single-column-01
- Engine version
- legen-sudoku-engine/1.3.0
- Verification status
- Independent placement verifier passed
- Facts reviewed
- 2026-07-18
Technique terminology and examples are tied to the published engine version. See the review information below for scope and dates.