hitori · 6 min read
How to Play Hitori
Logical elimination to ensure no number appears twice in any row or column.
Hitori is a shading puzzle. You start with a grid of numbers — many of which repeat across rows and columns — and your job is to shade some cells black so the leftover unshaded numbers all become unique within every row and column.
It looks like a Sudoku-style logic puzzle, but the rules pull in graph-theory style constraints (no shaded neighbors, all unshaded cells connected). That makes for surprisingly clean step-by-step deductions.
The Puzzle
Here is a 5×5 puzzle. Every cell starts with a number. Your job is to decide which cells to shade.
The Three Rules
Rule 1: After shading, no row or column may contain duplicate unshaded numbers
Pick a row. Read off only the unshaded numbers. They must all be different. Same for every column.
Rule 2: Shaded cells may not be orthogonally adjacent
No two shaded cells can sit next to each other up/down or left/right. (Diagonal touching is allowed.)
Rule 3: All unshaded cells must be connected
Take just the unshaded cells. Walk between them moving up/down/left/right. You must be able to reach any unshaded cell from any other. No isolated islands.
Two Useful Techniques
Technique 1: Triple-with-a-pair
When the same number appears three times in a single row or column and at least two of them are adjacent, the third one (the singleton, not part of the adjacent pair) must be shaded.
Why? Pick the row or column. You can leave at most one of the three unshaded. The two adjacent ones can't both be shaded (rule 2), so at least one of them is unshaded. That “uses up” the single allowed unshaded slot for that number. The third (singleton) copy must therefore be shaded.
Technique 2: Shading propagation
The instant you decide a cell is shaded, all four of its orthogonal neighbors are forced unshaded by rule 2. That's often where a cascade starts — each new shaded cell unshades 2-4 others, which then force more shadings via duplicate elimination.
Walkthrough
Step 1 — Triple in column 4
Column 4 reads 4, 5, 5, 2, 5 — three 5's at rows 2, 3, and 5. Rows 2 and 3 are adjacent.
The two adjacent 5s (rows 2 and 3) can't both be shaded — and one of them must remain unshaded as “the” 5 for column 4. So the third 5 (row 5) must be shaded.
Step 2 — Triple in row 4
Row 4 reads 2, 5, 2, 2, 4 — three 2s at columns 1, 3, and 4. Columns 3 and 4 are adjacent. Same technique.
Step 3 — Cascading deductions
Now we use the propagation rule plus duplicate elimination together.
- Row 1, column 2 = 2 must be shaded. Row 1 has two 2s at columns 2 and 3. Column 2 has another 2 at row 5 — but row 5 column 2 is not adjacent to anything we've shaded. The trigger here is column 2 itself: 2s appear at rows 1 and 4. If row 1 column 2 stays unshaded, row 5 column 2 must be shaded — but row 5 column 2 borders row 5 column 1 (also unshaded after we keep checking)… Easier path: the row 1 pair (cols 2 and 3) must lose one; column 2's pair (rows 1 and 4) must also lose one. Working through both, only shading row 1 column 2 keeps the unshaded region connected.
- Row 4 column 3 = 2 must be shaded. Row 4 has three 2s and we already shaded the singleton (column 1). Of the remaining adjacent pair at columns 3 and 4, one must be shaded. Looking at column 3 we find another 2 at row 1 — and combined with the row 1 pair above, the constraints force shading column 3 row 4.
Step 4 — Final shadings via duplicate elimination
Two duplicates remain to resolve:
- Row 3 column 5 = 2 must be shaded. Row 3 numbers are 2, 4, 3, 5, 2. The 2 at column 1 is now unshaded (forced by the shaded row 4 column 1 above it). So the other 2 in the row — column 5 — must be shaded.
- Row 2 column 4 = 5 must be shaded. Column 4 already has its lone unshaded 5 at row 3 (after step 1). Row 2 column 4 is a 5 too — must be shaded. Then row 2 has 5s at columns 3 and 4; with column 4 shaded, the column 3 one is the row's sole 5 unshaded. ✓
Tips for Beginners
- Scan for triples first. Three same numbers in a row/col with any adjacent pair give you a free shading.
- Then propagate. Each shaded cell forces its 4 orthogonal neighbors to be unshaded. Mark them lightly so you don't accidentally shade them later.
- Apply duplicate elimination. Once a cell is confirmed unshaded, every other cell in its row/column with the same number must be shaded.
- Watch connectivity. Especially near the corners. Shading too much can isolate a corner cell from the rest of the unshaded region.
- Branch and check. When two options remain, try one and trace the consequences. If you hit a contradiction (two shaded cells touching, or an isolated cell), the other branch is correct.
Ready to try one yourself? Hit the button below to play your first Hitori.