Singles – the foundation

Every solve starts here. These two steps apply to every puzzle, however hard it is rated.

Naked Single

Only one candidate remains in a cell.

Also called a sole candidate. After eliminating the digits already present in the same row, column, and box, one cell is left with a single option. That digit must go there. Gently rated puzzles reduce almost entirely to a sequence of naked singles once you pencil in your candidates.


Naked Single example
R1C5 can only be 9. Every other digit already appears in row 1, column 5, or the top-center box, so 9 is all that's left.
Places 9 in R1C5

Hidden Single

A digit that can only go in one cell of a house.

Look at a row, column, or 3×3 box (any one of these is called a "house") and a single candidate digit. If that digit can only be placed in one cell of the house, it belongs there – even if the cell still shows other candidates. Also known as a unique candidate, hidden singles are the most productive basic step because they hide inside cells that look ambiguous at first glance.


Hidden Single example
In row 2, the digit 2 can only go in R2C1. Every other empty cell in row 2 already sees a 2 in its column or box, so R2C1 must be 2.
Places 2 in R2C1

Intersections

The first step beyond looking: what a digit's position inside one box tells you about the row or column it shares.

Pointing Pair / Triple

All candidates for a digit in a box line up in one row or column.

Look at a 3×3 box. If every cell that could hold a particular digit sits in the same row (or column), the digit must come from inside the box, so it can be eliminated from every other cell of that row (or column) outside the box. The logic runs outward: box → line. Pointing and claiming are together known as Locked Candidates.


Pointing Pair / Triple example
In the top-left box, the digit 2 can only sit on row 2 (R2C1, R2C3). So row 2 owns the box's 2, and 2 can be removed from the rest of row 2.
Removes: 2 from R2C4, R2C6, R2C9

Claiming Pair / Triple

All candidates for a digit in a row or column lie in one box.

The mirror image of pointing. If every cell in a row (or column) that could hold a digit sits inside the same 3×3 box, the digit must land in one of those cells. Eliminate it from every other cell of that box. The logic runs inward: line → box. Also called box-line reduction (and, with pointing, Locked Candidates).


Claiming Pair / Triple example
In row 2, the digit 4 can only sit in R2C4, R2C5, R2C6, all inside the top-center box. So that box's 4 must fall in row 2, and 4 can be removed from the rest of the top-center box.
Removes: 4 from R1C4, R1C5, R1C6, R3C4, R3C5, R3C6

Subsets

The backbone of most solves. Once you can see pairs, triples are the same idea with one more cell.

Naked Pair

Two cells in a house containing exactly the same two candidates.

If two cells in the same house each contain only the same two digits {a, b}, those digits must occupy those two cells in some order. Eliminate both a and b from every other cell in the house. The cells do not need to be adjacent. Naked pairs, triples, and quads are collectively called naked (or disjoint) subsets.


Naked Pair example
Between them, R9C3, R9C8 in row 9 hold only 6,8. Those digits are locked to those 2 cells, so they can be removed from the rest of row 9.
Removes: 6 from R9C7

Naked Triple

Three cells in a house whose candidates are drawn from the same three digits.

Three cells in a house whose candidates are all subsets of {a, b, c} – each cell can hold any two or all three – together must contain a, b, and c exactly. Eliminate those three digits from the rest of the house. Classic shapes: {ab, ac, bc}, {abc, ab, ac}, {abc, abc, abc}.


Naked Triple example
Between them, R1C8, R2C8, R3C8 in column 8 hold only 1,6,9. Those digits are locked to those 3 cells, so they can be removed from the rest of column 8.
Removes: 9 from R5C8, R6C8, R7C8 · 6 from R5C8, R7C8 · 1 from R7C8

Naked Quad

Four cells in a house sharing four candidates between them.

Same idea as a triple, one size up. Four cells whose candidates lie entirely within {a, b, c, d} lock those four digits into those four cells. Eliminate a, b, c, d from the remaining cells of the house.


Naked Quad example
Between them, R4C8, R5C8, R6C8, R9C8 in column 8 hold only 1,3,5,9. Those digits are locked to those 4 cells, so they can be removed from the rest of column 8.
Removes: 1 from R1C8, R8C8 · 3 from R1C8, R7C8 · 5 from R7C8 · 9 from R8C8

Hidden Pair

Two digits in a house that can only go in the same two cells.

If two digits each appear as candidates in only the same two cells of a house, those cells must hold those two digits – even if extra candidates are written there. Strike every other candidate from both cells. Hidden pairs, triples, and quads are collectively the hidden subsets.


Hidden Pair example
In row 5, the digits 3,8 can only go in R5C2, R5C3. That ties up those 2 cells, so any other candidates in them can be removed.
Removes: 1 from R5C2, R5C3 · 2 from R5C2, R5C3 · 4 from R5C2, R5C3 · 5 from R5C2 · 7 from R5C2, R5C3

Hidden Triple

Three digits confined to the same three cells of a house.

Three digits in a house whose combined candidate positions span exactly three cells must occupy those cells. Remove all other candidates from those three cells. Each digit might only appear in two of the three cells – it is the union that matters.


Hidden Triple example
In the bottom-left box, the digits 1,2,7 can only go in R7C1, R8C2, R8C3. That ties up those 3 cells, so any other candidates in them can be removed.
Removes: 5 from R7C1 · 6 from R7C1, R8C2, R8C3

Hidden Quad

Four digits confined to the same four cells of a house.

Four digits whose only positions in a house are the same four cells must fill those cells. Remove every other candidate from those four cells. Quads are rare but the logic is identical to a hidden pair – just larger.


Hidden Quad example
In the center box, the digits 5,6,8,9 can only go in R4C4, R4C6, R5C4, R5C6. That ties up those 4 cells, so any other candidates in them can be removed.
Removes: 1 from R4C4, R5C4 · 3 from R4C6 · 4 from R5C4, R5C6 · 7 from R5C6

Fish, wings, chains & uniqueness

Patterns that span the whole grid rather than a single house. The harder a puzzle is rated, the more of these it will demand.

X-Wing

A digit restricted to exactly two cells in two different rows, forming a rectangle.

Find two rows where a digit X has only two possible positions, and those positions share the same two columns. The four cells form a rectangle. Whichever diagonal pair holds X, each of the two columns gets exactly one X – so X can be eliminated from all other cells of those columns. The same pattern works with rows and columns swapped. The X-Wing is the smallest "fish"; Swordfish and Jellyfish extend it to three and four lines.


X-Wing example
Rows 2 and 7 each have 1 only in columns 2 and 5. Each row needs one 1, so 1 can be removed from columns 2 and 5 in every other row.
Removes: 1 from R4C2, R3C5, R4C5, R8C5

Swordfish

The 3-row / 3-column generalisation of an X-Wing.

In each of three rows, digit X can only go in cells that together lie in just three columns (a row meets each column once, so that is at most three X-cells per row). Each of those rows still needs an X, and no two of them can sit in the same column, so the three X's land in three different columns – and with only three columns available, they fill all three, one apiece. Those columns are now full of X: it can't appear anywhere else in them, so eliminate X from every other cell of the three columns. The pattern also works with rows and columns swapped. In fish notation this is a 3-fish.


Swordfish example
Across rows 2, 3, 6, the digit 5 sits only in columns 3, 4, 8. Those rows fill those columns with their 5s, so 5 can be removed from the rest of columns 3, 4, 8.
Removes: 5 from R1C3, R1C4, R5C4, R1C8

Jellyfish

The 4-row / 4-column version of Swordfish.

Same counting as a Swordfish, one size up. In each of four rows, digit X can only go in cells that together lie in just four columns (at most four X-cells per row). Each of those rows needs an X, and no two can share a column, so the four X's land in four different columns – and with only four available, they fill all four, one apiece. Those columns are now full of X, so eliminate it from every other cell of the four columns. The same works with rows and columns swapped. Jellyfish – a 4-fish – is the largest fish used here; any 5-row pattern mathematically reduces to a smaller fish.


Jellyfish example
Across columns 3, 4, 6, 8, the digit 1 sits only in rows 3, 7, 8, 9. Those columns fill those rows with their 1s, so 1 can be removed from the rest of rows 3, 7, 8, 9.
Removes: 1 from R3C5, R7C2, R7C5, R8C2, R8C5, R9C5

Finned X-Wing

An X-Wing plus one or two extra candidates (the fin) inside one box.

Begin with an almost-complete X-Wing. For digit X, take two parallel lines (two rows or two columns) where X is confined to two cells each, lining up on the same two crossing lines – except one of the base lines has a third spot for X, the fin, tucked into the same box as one of its corners. The fin breaks the clean sweep, so X can't be cleared from a whole crossing line. One cell is still doomed either way: If X avoids the fin you have a true X-Wing and its eliminations hold; if X sits in the fin, it's trapped inside that box. The cell where a crossing line meets the fin's box loses on both branches, so X comes out of it. Finned fish are among the most common expert patterns.


Finned X-Wing example
Column 8 has 7 only in rows 5 and 7. Column 6 has 7 in those same rows plus a fin at R4C6. If the fin holds 7 it stays in that box; if not it's a plain X-Wing – either way 7 leaves the rest of row 5 inside that box.
Removes: 7 from R5C4

XY-Wing

Three bivalue cells {XY}, {XZ}, {YZ} – a hinge and two pincers.

Also known as a Y-Wing. Find a hinge cell – also called the pivot – with candidates {X, Y}. Find two pincer cells (the wings) that each see the hinge: one holding {X, Z} and one holding {Y, Z}. Whatever value the hinge takes, one pincer is forced to Z. Any cell that sees both pincers cannot contain Z.


XY-Wing example
Pivot R4C8 holds {6,8}. One wing R9C8 is {6,5}, the other R4C3 is {8,5}, so whichever the pivot takes, one wing is forced to 5. Any cell that sees both wings can't be 5.
Removes: 5 from R9C3

XYZ-Wing

XY-Wing with a three-candidate hinge {XYZ}.

The hinge (pivot) has candidates {X, Y, Z}; the pincers (wings) are {X, Z} and {Y, Z}. The same chain logic applies, but elimination cells must see the hinge and both pincers simultaneously – which makes the scope narrower than a standard XY-Wing.


XYZ-Wing example
Pivot R8C6 holds {3,5,1}, with wings R8C5 = {1,3} and R5C6 = {1,5}. One of these three cells must be 1, so any cell that sees all three can't be 1.
Removes: 1 from R7C6

W-Wing

Two bivalue cells with identical candidates {X, Y}, bridged by a strong link on one digit.

Two cells both holding {X, Y}. A strong link on Y (Y appears in exactly two cells of some house, and one of those cells sees each of the bivalue cells) ensures one bivalue cell must take X. Any cell that sees both bivalue cells cannot contain X.


W-Wing example
R5C6 and R9C5 both hold only {3,9}, and in row 2 the digit 3 links them. Either way one of the two ends up 9, so any cell that sees both can't be 9.
Removes: 9 from R4C5, R6C5, R9C6

Skyscraper

Two rows (or columns) where a digit has exactly two positions, sharing one column (or row).

In two rows, digit X is confined to two cells each, and one cell from each row shares the same column. The shared column is the "base"; the other two cells are the "roof". At least one roof cell must contain X, so any cell that sees both roof cells cannot contain X. The skyscraper is a single-digit chain, one of the Turbot Fish patterns.


Skyscraper example
In columns 6 and 9, the digit 3 fits in only two cells each, and they share row 4. Only one of the two row 4 cells can be 3, so one of the far ends (R7C6 or R9C9) must be 3. Any cell that sees both ends can drop 3.
Removes: 3 from R9C5, R7C8

2-String Kite

One strong link on a row and one on a column, sharing a cell in the same box.

Also called a Kite or Turbot Fish. Digit X has exactly two candidates in some row and exactly two in some column. One candidate from the row and one from the column share a 3×3 box. The other two cells – one from each string – are the kite tails. Any cell that sees both tails cannot hold X.


2-String Kite example
Row 6 has 7 only at R6C1 and R6C7, and column 8 has 7 only at R4C8 and R7C8. R6C7 and R4C8 share the middle-right box, so only one of them is 7. That forces one of the far ends (R6C1 or R7C8) to be 7, so any cell that sees both ends can drop 7.
Removes: 7 from R7C1

XY-Chain

A chain of bivalue cells that forces a digit at both endpoints.

Each step in the chain is a bivalue cell. Adjacent cells share one candidate value. Both endpoints share the same outgoing digit X. Whichever endpoint takes a different value, the other forces X somewhere. Any cell that sees both endpoints cannot contain X.


XY-Chain example
A chain of bivalue cells links R1C1 to R9C4: R1C1R5C1R8C1R8C9R8C8R9C8R9C4. Each adjacent pair shares one candidate, so if R1C1 isn't 2 the links force R9C4 to be 2. Either way one end holds 2, so any cell that sees both ends can drop 2.
Removes: 2 from R1C4

Nice Loop (AIC)

An alternating chain of strong and weak links – open or closed.

An Alternating Inference Chain alternates strong links (a digit with only two spots in a house, or a bivalue cell) and weak links (two candidates that can't both be true). An open chain ends on the same digit at both ends and proves at least one end holds it, so that digit can be removed from any cell that sees both ends. A closed loop additionally forces an elimination at every weak link around it. Because the links can switch between digits, Nice Loops generalise single-digit chains and subsume skyscrapers, 2-string kites, and many wing patterns.


Nice Loop (AIC) example
Chain: R3C1=2R3C1=7R1C1=7R1C6=7R1C6=2R3C6=2 ≡ means one of the two ends must be true - either that cell is down to just those two digits, or that digit fits in only those two cells of a row, column, or box. – means the two ends can't both be true - either they are two digits in one cell, or the same digit in two cells that share a row, column, or box. Because the chain can't be broken, one of its two endpoints (R3C1=2 or R3C6=2) must hold its digit. Any other cell that sees both endpoints is therefore impossible for that digit - it gets removed either way.
Removes: 2 from R3C3, R3C9

Unique Rectangle

A pattern that would create two solutions – logic forces it to break.

Four cells forming a rectangle across two rows, two columns, and two boxes. If all four held only {X, Y}, the puzzle would have two completions – the "deadly pattern" a unique puzzle forbids. Type 1: When three cells are {X, Y} and the fourth has extras, remove X and Y from that fourth cell. Type 4: When one digit has a strong link along one side of the rectangle, eliminate the other digit from the extra-candidate cells.


Unique Rectangle example
R3C1, R3C2, R9C1, R9C2 form a rectangle across two boxes, and three corners hold only {5,6}. If R3C2 were also just {5,6}, 5 and 6 could swap for a second solution. The puzzle has one solution, so remove 5 and 6 from R3C2.
Removes: 5 from R3C2 · 6 from R3C2

BUG+1

All unsolved cells are bivalue except one – that cell's odd digit is forced.

BUG stands for Bivalue Universal Grimace. If every unsolved cell has exactly two candidates except one cell with three, the grid is one step from a deadly pattern that would permit two solutions. Since the real puzzle has only one, the three-candidate cell must break the pattern: It takes the one of its three digits that appears an odd number of times – three, not twice – across its row, column, and box. The other two candidates would leave the deadly pattern intact.


BUG+1 example
Every empty cell has two candidates except R2C3, which has three: {2,8,9}. If it dropped to two as well, the puzzle would have a second solution. Only 9 appears an odd number of times across R2C3's row, column, and box, so it must be 9.
Places 9 in R2C3

ALS Chain

Links built from almost-locked sets – N cells sharing N+1 candidates.

An Almost Locked Set is a group of N unsolved cells inside one house holding exactly N+1 different candidates between them. A single bivalue cell is the smallest example (one cell, two candidates); three cells sharing four digits is another. Since N cells can only ever hold N digits, exactly one of those N+1 candidates has to be the odd one out. That yields an unusually strong link: rule any single digit out of the set, and every remaining digit is pinned inside it. Chaining these sets together reaches eliminations that no wing, fish or bivalue chain can find, because the links no longer depend on a digit having just two homes in a house. ALS logic is what separates the genuinely hardest puzzles from merely hard ones, and it is the technique most often needed to break an Expert grid open.


ALS Chain example

Almost-locked sets do the work here. A set holding just one more candidate than it has cells must place all but one of those digits, so ruling a digit out of the set pins the rest inside it.

Suppose R1C2 is not 8.

  1. Then R2C1 is 3, since R1C2, R1C3, R2C1 and R2C3 hold only five candidates between them and cannot lack both 8 and 3.
  2. So R2C8 is not 3, since row 2 holds just one 3.
  3. So R1C7 is 7, since R1C7, R1C8 and R2C8 hold only four candidates between them and cannot lack both 3 and 7.

Either R1C2 is 8 or R1C7 is 7, so any candidate both of them rule out can go.

Removes: 7 from R1C2 · 8 from R1C7

Forcing Chain

Both branches from a bivalue cell reach the same conclusion.

Pick a bivalue cell. Trace the logical consequences of each value separately. If both assumptions force the same digit into (or out of) some other cell, that conclusion is certain regardless of which branch is correct. Should be reserved for the absolutely trickiest puzzles, and in all cases kept shallow enough to follow by hand.


Forcing Chain example
R8C4 is either 1 or 8. Either way the same eliminations follow: If R8C4 = 1 (chain depth 1): 1. assume R8C4 = 1 2. R8C6 = 8 (only place for 8 in row 8) → therefore R8C6 cannot be 5 or 7 If R8C4 = 8 (chain depth 1): 1. assume R8C4 = 8 2. R8C6 = 1 (only place for 1 in row 8) → therefore R8C6 cannot be 5 or 7
Removes: 5 from R8C6 · 7 from R8C6

Ready to put them to use?

Put your skills into practice with today’s puzzle, or explore the archive to play any difficulty level.