THE THREE RULES
Rule 1 (no-three): no three consecutive identical digits in any row or column. You can't have 000 or 111 anywhere.
Rule 2 (balance): each row and column must have exactly as many 0s as 1s. On a 6×6 grid, that's three of each per row and column.
Rule 3 (uniqueness): no two rows may be identical and no two columns may be identical.
These rules have a natural priority order for solving. Apply them in that order: Rule 1 first, Rule 2 second, Rule 3 last. Only move to the next rule when the current one gives nothing new.
RULE 1 FIRST: HUNT FOR PAIRS AND GAPS
Rule 1 is the most immediate source of forced moves and should be applied exhaustively before anything else.
Two patterns give free cells:
- Adjacent pair XX: the cells immediately before and after the pair must be the opposite digit. 1 1 _ → 1 1 0.
- Sandwiched gap X_X: a single empty cell flanked by the same digit must be the opposite. 0 _ 0 → 0 1 0.
Scan every row and column for these patterns. A single forced fill often creates a new pair or gap in the same row — keep propagating until nothing moves.
RULE 2 SECOND: COUNT THE BALANCE
Once Rule 1 is exhausted, count the filled 0s and 1s in each row and column. On a 6×6 grid, each needs exactly three of each.
Two forced situations arise from balance:
- A row already has three 1s: every remaining empty cell in that row must be 0.
- A row already has three 0s: every remaining empty cell must be 1.
You don't need to finish a row to use balance — even a partial count constrains. If four cells are filled (two 0s, two 1s) and two remain empty, those two must be one of each.
RULE 3 LAST: NO DUPLICATE ROWS OR COLUMNS
Rule 3 becomes useful only when a row or column is nearly complete — typically one or two cells remaining.
If the remaining empty cells could be filled in two different ways and one of those ways would create a row identical to an existing complete row, that possibility is eliminated. The other filling is forced.
This is a negative constraint — it rules things out rather than directly placing digits — so it tends to matter late in the solve when most cells are already determined.
THE SOLVING LOOP
Repeat until solved:
- Scan every row and column for adjacent pairs (XX) and sandwiched gaps (X_X). Fill all forced cells.
- Count 0s and 1s in each row and column. Fill any row or column that has hit its maximum for one digit.
- For nearly-complete rows/columns (one or two cells left): check whether either completion duplicates an existing row or column. Eliminate the duplicate and fill.
- Go back to step 1 with the new fills — each new digit usually creates new pairs or gaps.
A well-formed Takuzu has a unique solution reachable by pure logic. If the loop stalls, the most common cause is a missed pair or an unchecked balance count — not a puzzle flaw.
THE BEGINNER MISTAKE
Beginners jump to Rule 3 (uniqueness) too early — comparing rows when most cells are still empty. At that stage the comparison tells you almost nothing because almost any fill could eventually match.
The correct order — Rule 1, Rule 2, Rule 3 — works because each rule is only as useful as the information already on the grid. Rule 1 needs only two adjacent cells. Rule 2 needs a partial count. Rule 3 needs a nearly-complete row. Apply them in the order their information requirements are met.