Alex Liam Puzzles Logo
Alex Liam Puzzles
Relaxing logic puzzles

Common Sudoku Techniques Explained

A simple guide to logic-based Sudoku solving steps, with verified full-grid examples for singles, pairs, triples, locked candidates, fish patterns, single-digit patterns and wings.

Sudoku is a logic puzzle — not a guessing game

A properly constructed Sudoku has exactly one solution, and you never have to guess to find it. The techniques below help you decide which number must go in a cell, or which candidates can safely be removed.

This page covers the complete set of techniques our solver uses to grade the puzzles in Alex Liam Puzzles books. Every puzzle is machine-checked to have exactly one solution that logic can reach, so nothing in any of our books ever comes down to a guess.

Important: every example on this page is based on a valid full 9×9 Sudoku state. To keep the diagrams readable, only the candidates relevant to the technique are shown.

Yellow cells show a direct placement or pivot, green cells show the important pattern, and red candidate digits show the exact candidates that can be removed. The red color is used without a strike-through so the candidate digits remain easy to read.

Notation used in the examples: r means row and c means column. For example, r5c3 means row 5, column 3. Rows are counted from top to bottom, and columns are counted from left to right.

1. Scanning

BeginnerNo pencil marks required

Scanning means checking a row, a column, and a 3×3 box to see which numbers are already used and which position is left.

Example: scanning shows where 5 goes in the middle-right box

5 2 · 8 9 7 · 3 4
· · 4 2 5 3 8 · ·
8 7 3 6 4 1 9 2 5
· · · 4 · 6 3 8 ·
· · 2 3 8 9 7 5 ·
· 3 8 1 · 5 · · ·
· 8 9 · 3 4 · · ·
2 · · · 1 8 4 9 3
3 4 · 9 6 2 · · 8
The 5s that do the workSolved cell

Why it works

  1. Look at the middle-right 3×3 box: rows 4–6 and columns 7–9. Six of its cells are still empty.
  2. Row 6 already has a 5 at r6c6, so the whole bottom row of the box is ruled out.
  3. Column 9 already has a 5 at r3c9, so r4c9 and r5c9 are ruled out too.
  4. One empty cell survives, so r5c8 must be the 5.

2. Naked Single

BeginnerDirect placement

A naked single happens when one empty cell has only one candidate left.

Example: r7c4 has only one candidate

8 4 9 2 5 1 7 3 6
6 7 1 3 8 9 2 4 5
2 3 5 · 6 · 1 8 9
· 2 6 · 4 · 3 5 1
4 5 8 6 1 3 9 2 7
· 1 3 · 2 · 4 6 8
1 · 4 8 3 · 5 · 2
3 · 2 · 7 · 6 · 4
5 6 7 · 9 · 8 · 3
Single candidate

Why it works

Three units meet at r7c4, and between them they use up eight digits: row 7 already holds 1, 2, 3, 4, 5, column 4 holds 2, 3, 6, and the box holds 3, 7, 9. Only 8 is left, so that is the answer — no pattern-hunting needed, just the three lines that cross on the cell.

3. Hidden Single

BeginnerDirect placement

A hidden single happens when a digit appears as a candidate in only one cell of a row, column, or box.

Example: digit 1 appears only once in row 6 (all four open cells shown)

2 8 7 9 3 4 1 5 6
3 1 4 6 5 · · · 7
5 6 9 7 · 1 3 · 4
· 7 5 4 · 6 2 · 3
· 9 2 3 · 7 6 4 5
4 3 6 5 1 2 8 9 2 8 8 9 7 8 9
9 5 1 8 4 3 7 6 2
7 2 3 1 6 5 · · ·
6 4 8 2 7 9 5 3 1
Hidden single cell

Why it works

Row 6 has four cells left. Three of them — r6c6, r6c7 and r6c9 — cannot take a 1 at all, so the row's 1 has nowhere to go but r6c5. That cell still holds four candidates {1, 2, 8, 9}, so it is nowhere near a naked single; the 1 is hidden among them. Looking at the row as a whole, rather than at one cell, is what finds it.

4. Pointing Pair / Pointing Triple

IntermediateBox-to-line elimination

A pointing pair or pointing triple occurs when all candidates for a digit inside a 3×3 box lie on the same row or column.

Example: digit 8 is confined to row 1 inside the top-right box

1 3 7 8 1 2 3 7 8 3 7 1 4 5 2 4 5 6 1 7 8 1 2 8 9
4 5 · 7 8 9 1 1 2 3
· · · · · 3 4 5 6
2 · 4 · 6 7 · 9 1
5 · · 8 9 1 2 · ·
· 9 1 2 3 4 5 · 7
· 4 5 · 7 8 · · 2
6 · 8 9 1 2 3 4 5
9 · 2 · · · 6 7 8
Cells of the pointing patternCandidates removed

Why it works

Inside the top-right box, candidate 8 appears only at r1c7 and r1c8. Both cells are in row 1, so the 8 for that box must be somewhere in row 1. Therefore, candidate 8 can be removed from the other cells of row 1 outside the box: remove 8 from r1c1 and r1c2.

5. Claiming / Box-Line Reduction

IntermediateLine-to-box elimination

Claiming is the reverse of pointing. If all candidates for a digit in a row or column lie inside one 3×3 box, that digit can be removed from the rest of the box.

Example: row 5 claims digit 6 inside the middle-left box

· 2 · · 5 · · · ·
4 5 6 · 8 9 1 2 3
7 8 9 · 2 3 4 5 ·
2 3 4 · 6 7 · · ·
5 6 9 6 9 7 8 9 1 2 3 4
8 6 9 1 2 · · · · 7
· 4 5 6 7 8 · 1 ·
· · 8 · 1 2 3 · ·
· 1 2 3 · 5 · · ·
Cells that claim the digitCandidates removed

Why it works

In row 5, candidate 6 appears only in r5c1 and r5c2, and both cells are inside the middle-left box. Therefore, the 6 for row 5 must be placed inside that box. Candidate 6 can then be removed from the rest of the same box: remove 6 from r6c2.

6. Naked Pair

IntermediateCandidate elimination

A naked pair appears when two cells in the same unit contain the same two candidates, and no others.

Example: a naked pair in column 3 (all five open cells shown)

· 6 1 3 2 4 7 · 9 8
4 · 2 3 9 1 5 8 6 7 ·
7 · 2 8 6 9 3 1 · 4
3 4 6 7 2 9 8 1 5
2 7 5 4 8 1 9 3 6
· · 1 8 9 3 6 5 2 4 7
9 · 4 8 3 6 7 · 1
6 3 7 5 1 2 4 8 9
· 1 2 8 9 7 4 · 6 ·
The naked pairCandidates removed

Why it works

Cells r3c3 and r9c3 are both exactly {2, 8}. Whichever way round they go, the two of them use up the 2 and the 8 of column 3 between them — so no other cell in that column can be either digit.

Remove 2 from r2c3 and 8 from r6c3. r1c3 keeps both its candidates: it never held a 2 or an 8 to begin with.

7. Hidden Pair

IntermediateCandidate cleanup

A hidden pair happens when two digits can appear only in the same two cells of a row, column, or box.

Example: digits 3 and 9 are hidden in column 9 (all five open cells shown)

5 2 6 · 8 3 1 9 4 7
9 3 8 · · 2 · · 6
7 4 1 9 5 6 3 2 8
3 8 · 5 2 · · 6 1
2 7 · 8 6 1 4 · 3 5 9
1 6 · 3 9 · 2 8 5 7
4 9 3 6 7 5 8 1 2
6 · 7 2 · 8 · · 3 4 5 9
8 · 2 · 3 9 6 7 4 5
Cells containing the hidden pairCandidates removed

Why it works

In column 9, the digits 3 and 9 appear in only two cells: r5c9 and r8c9. Two digits needing two cells fills both of them, so nothing else can live there.

Strip the extras: remove 5 from r5c9, and 4 and 5 from r8c9. Both cells become {3, 9} — a naked pair that was there all along, just buried under spare candidates.

8. Naked Triple

AdvancedCandidate elimination

A naked triple occurs when three cells in the same unit use only three digits between them.

Example: a naked triple in row 9

· · · · · 6 · 8 ·
4 · · · · 9 · 2 3
7 8 9 1 · · 4 5 ·
· · 4 · · · 8 · 1
5 · · · · 1 · 3 ·
· 9 · · · · 5 · 7
3 4 5 · 7 8 9 1 2
6 7 8 · 1 2 3 · 5
9 1 2 3 4 5 3 4 5 3 4 5 6 4 7 8
Cells of the naked tripleCandidates removed

Why it works

The three highlighted cells in row 9 use only the digits 3, 4, and 5. Those three digits must occupy those three cells. Therefore, in the rest of row 9, only the overlapping candidates can be removed: remove 4 from r9c8.

9. Hidden Triple

AdvancedCandidate cleanup

A hidden triple happens when three digits can appear only in the same three cells of a unit.

Example: digits 2, 3, and 6 are hidden in row 2

1 · 3 4 5 6 7 · ·
4 5 2 6 · · · 1 2 3 8 9 3 6 9
7 8 9 · 2 3 · 5 ·
2 · 4 · · 7 8 · 1
5 6 7 · 9 · 2 · ·
8 · · · 3 4 5 6 ·
· 4 5 6 7 8 9 · 2
· 7 · · 1 2 · · 5
· · · 3 · 5 6 · 8
Cells containing the hidden triple

Why it works

In row 2, the digits 2, 3, and 6 appear only in r2c3, r2c8, and r2c9. This is a proper hidden triple: 2 appears in r2c3/r2c8, 3 appears in r2c8/r2c9, and 6 appears in r2c3/r2c9. Those three cells must contain 2, 3, and 6 in some order. Therefore, remove the extra candidates: remove 8 and 9 from r2c8, and remove 9 from r2c9.

10. X-Wing

AdvancedPattern elimination

An X-Wing forms when a candidate appears in exactly two cells in one row, and the same two columns repeat in another row.

Example: X-Wing on candidate 5 (every cell that can still hold a 5 is marked)

3 6 4 9 1 5 5 5 7
8 5 1 4 7 3 5 6 9
· 5 5 6 5 8 1 3 4
· · 8 3 · · 6 4 5
5 3 2 1 6 4 7 9 8
6 4 · 8 5 5 3 2 1
· 5 5 7 4 6 5 5 3
4 5 3 2 8 1 5 7 6
7 8 6 5 3 9 4 1 2
Corners of the X-WingCandidates removed

Why it works

In row 2, digit 5 fits only in r2c2 or r2c7, and in row 8 only in r8c2 or r8c7 — the same two columns. The four corners form a rectangle, and the two 5s must sit on opposite corners of it. Either way, one of them lands in column 2 and the other in column 7.

Those two columns are therefore spoken for. Every other cell in them loses the 5: remove it from r1c7, r3c2, r7c2 and r7c7.

11. Swordfish

AdvancedLarge pattern elimination

A Swordfish is a larger version of an X-Wing. A candidate is restricted to the same three columns across three different rows (or the same three rows across three columns).

Example: Swordfish on candidate 6

8 1 2 7 5 3 6 4 6 9 6 9
9 4 3 · 8 2 1 6 7 5
6 7 5 4 9 1 2 8 3
1 5 4 2 3 7 6 8 6 9 6 8 9
3 6 9 8 4 5 7 2 1
2 8 7 1 6 9 5 3 4
5 · 1 9 7 4 3 6 8 6 6 8
4 3 8 5 2 6 9 1 7
7 9 · 3 1 8 4 5 2 6
Cells of the SwordfishCandidates removed

Why it works

In rows 1, 4, and 7, candidate 6 is confined to columns 7, 8, and 9. This forms a row-based Swordfish. Those three rows must place their 6s somewhere inside columns 7, 8, and 9, so candidate 6 can be removed from the other cells in those same columns: remove 6 from r2c7 and r9c9.

12. Skyscraper

AdvancedSingle-digit pattern

A Skyscraper works on one digit at a time. Two rows in which the digit has only two possible cells share one column — and that shared column can hold the digit only once.

Example: Skyscraper on candidate 3 (every cell that can still hold a 3 is marked)

3 · · 2 9 4 1 7 6
6 2 1 3 7 8 9 5 4
4 7 9 1 · · 3 8 2
2 3 3 7 3 1 8 4 9
9 3 4 8 2 3 5 1 7
8 1 7 5 4 9 2 6 3
1 3 2 6 3 7 4 9 ·
5 4 6 9 8 2 7 3 1
7 9 3 4 1 3 6 2 ·
Base cells (shared column)Roof cellsCandidates removed

Why it works

In row 5, digit 3 fits only in r5c2 or r5c6. In row 7, only in r7c2 or r7c5. Both rows include column 2, and a column holds each digit once — so r5c2 and r7c2 cannot both be 3. At least one of the two roof cells, r5c6 or r7c5, must therefore be the 3. Any cell that sees both roofs can be cleared: remove 3 from r4c5 and r9c6.

13. Two-String Kite

AdvancedSingle-digit pattern

A Two-String Kite links a row and a column that each have only two places left for the same digit, when one cell of each lands in the same 3×3 box.

Example: Two-String Kite on candidate 2 (every cell that can still hold a 2 is marked)

4 7 2 · 9 2 5 1 6
6 2 2 · 2 1 9 3 4
1 3 9 4 6 5 2 7 8
2 4 6 5 1 7 3 8 9
9 1 3 2 8 4 6 5 7
5 8 7 9 3 6 4 2 1
3 · 1 · · 9 8 4 2
7 2 4 · 2 8 1 9 ·
8 9 2 1 4 2 7 6 ·
The two cells sharing a boxThe far endsCandidate removed

Why it works

In row 9, digit 2 fits only in r9c3 or r9c6. In column 5, only in r2c5 or r8c5. The cells r9c6 and r8c5 sit in the same box, so they cannot both be 2. That forces the 2 to the far end of one string or the other: r9c3 or r2c5. r2c3 sees both far ends, so remove 2 from it.

14. Empty Rectangle

AdvancedSingle-digit pattern

An Empty Rectangle appears when the candidates for a digit inside one box all lie on a single row and a single column of that box, forming an L around their crossing point.

Example: Empty Rectangle on candidate 2 (every cell that can still hold a 2 is marked)

6 8 1 2 3 2 5 · 7
· · 2 7 1 5 3 6 8
3 5 7 · · · · · 2
7 6 8 9 2 1 2 3 5
1 2 4 · 5 · 7 8 9
5 3 9 2 7 2 6 2 1
2 · 6 1 2 7 8 5 3
2 7 3 5 8 4 2 2 6
8 1 5 2 6 2 2 7 4
The L inside the boxThe two-cell linkCandidate removed

Why it works

In the bottom-middle box, digit 2 fits only in r9c4, r9c6 and r7c5 — all of them on row 9 or column 5, which cross at r9c5. Now look at row 4: the 2 there is either at r4c5 or r4c7.

  1. If r4c5 is 2, column 5 is used up, so the box's 2 must sit on row 9 — and then r9c7, on row 9 outside the box, cannot be 2.
  2. If r4c7 is 2, then r9c7 cannot be 2 either, because they share column 7.

Both branches agree, so remove 2 from r9c7.

15. XY-Wing

AdvancedChain-based elimination

An XY-Wing uses three bi-value cells: a pivot with candidates {X,Y}, and two wings with {X,Z} and {Y,Z}.

Example: pivot r5c6 with two wings

· · 3 · 5 6 7 8 9
4 · 6 7 8 · · 2 3
7 8 9 1 2 3 4 · · 6
2 3 · 5 · 7 8 9 1
· 6 7 8 9 1 4 2 3 ·
· 9 · · 1 3 1 2 3 4 5 6 7
· 4 5 6 · 8 · 1 2
6 7 · 9 · · 3 4 ·
9 · 2 3 4 5 6 · ·
Pivot cellWing cellsCandidates removed

Why it works

The pivot cell r5c6 has candidates {1, 4}. One wing is r3c6 with {3, 4}, and the other wing is r6c5 with {1, 3}. No matter whether the pivot becomes 1 or 4, one of the wings must become 3. Therefore, any cell that sees both wings cannot contain 3: remove 3 from r6c6.

16. XYZ-Wing

AdvancedChain-based elimination

An XYZ-Wing is an XY-Wing whose pivot keeps a third candidate. The pivot holds {X, Y, Z} and the two wings hold {X, Z} and {Y, Z}.

Example: pivot r8c7 with wings in the same column and box

· 1 7 6 5 · 9 4 2
6 2 5 7 4 9 · · 3
4 · 9 · · 1 7 6 5
7 6 8 4 · 5 2 3 9 1
1 4 3 9 8 · 5 · 6
9 5 2 1 6 · 4 · 8
· · 6 5 7 4 1 2 3 · 9
· 9 4 · 1 6 2 3 8 5 7
5 7 1 3 9 · 6 2 8 4
Pivot cellWing cellsCandidate removed

Why it works

The pivot r8c7 holds {2, 3, 8}. Its wings are r4c7 with {2, 3} (same column) and r9c8 with {2, 8} (same box). Run through the pivot's three options: if it is 3 the first wing must be 2; if it is 8 the second wing must be 2; if it is 2, it is the 2 itself. So one of these three cells is always the 2. Unlike an XY-Wing, the target must see all three cells, pivot included: r7c7 does, so remove 2 from it.

17. W-Wing

AdvancedChain-based elimination

A W-Wing uses two cells that hold the same two candidates and do not see each other, joined by a row, column or box in which one of those digits has only two places left.

Example: two {4, 6} cells joined by a strong link on 4 in row 3

9 2 4 6 · 1 6 8 3 5 ·
3 1 4 5 6 · 9 4 6 8 2 ·
4 5 7 8 2 5 3 2 4 6 1 9
8 4 1 3 2 5 7 9 6
2 5 3 6 7 9 4 8 1
7 6 9 8 4 1 2 3 5
6 8 · · · 7 9 4 3
1 9 7 4 8 3 5 6 2
· 3 · 9 · · 1 7 8
The matching pair of cellsThe two-cell link on 4Candidates removed

Why it works

r1c3 and r2c6 both hold exactly {4, 6}, and they do not see each other. In row 3, digit 4 has only two places left: r3c1 and r3c6 — one of them is the 4. r3c1 shares a box with r1c3, and r3c6 shares column 6 with r2c6.

  1. If r3c1 is 4, then r1c3 cannot be 4, so it is 6.
  2. If r3c6 is 4, then r2c6 cannot be 4, so it is 6.

Either way, one of the two matching cells is the 6. Any cell seeing both can be cleared: remove 6 from r1c5 and r2c3.

18. Practical solving tips

All levelsUseful habits
  • Start with scanning and singles. They solve a surprising amount of the grid.
  • Use pencil marks. Pairs, triples, and advanced patterns are much easier to spot when candidates are written down.
  • Clean up candidates after every placement. Many new singles appear after a good elimination.
  • Check boxes as well as rows and columns. Many important patterns begin inside a 3×3 box.
  • Take it step by step. Most hard Sudoku puzzles are solved through a chain of small logical steps, not one huge leap.

A quick note on difficulty

Difficulty is not determined by the number of clues alone. Two puzzles can start with a similar number of givens and still be worlds apart.

What decides the level is which solving techniques a grid actually requires — the patterns you have to reach for, not how many numbers are printed at the start. A puzzle's level is the cheapest set of techniques that solves it, not whichever pattern happens to be noticed first, so a grid that genuinely needs a pair is never filed as Easy just because the pair is easy to miss.

Every book carries its own note on difficulty in the opening pages, listing the patterns each level in that book expects you to use. Levels are not identical from one collection to the next, so that note — rather than a single scale for the whole catalogue — is what tells you what Easy, Medium, Hard or Expert means in the book in your hands.

Every technique on this page is one our own puzzles are graded against — pick a book by the level you want to practise.

Browse the puzzle books →