STEP 1 — SCAN ALL ROWS AND COLUMNS FOR ONE EMPTY CELL
Before doing any complex reasoning, count empty cells in every row and column. Any row or column with exactly one empty cell is forced: the missing digit = (row/column target − sum of all placed digits in that row/column). No choices, no arithmetic search — just subtraction.
Circle or mark these forced cells immediately. On beginner grids there are usually 3–6 of them in the first scan.
STEP 2 — PLACE FORCED DIGITS AND PROPAGATE
Each forced digit you place changes the row and column it belongs to. After placing one forced digit, rescan both its row and its column — placing a digit in a one-empty cell often reduces another row or column to one empty cell too, creating a chain of forced placements.
Don't scan the whole grid again after every single placement. Just re-check the specific row and column that were just updated.
STEP 3 — TWO-EMPTY-CELL ROWS: COMPUTE THE REMAINING SUM
When a row or column has exactly two empty cells, compute the remaining sum: (target − placed digits) = S. Both missing digits must add up to S. List the pairs of distinct digits 1–9 that sum to S. Often only one pair fits the digit range and avoids repeating a digit already in that row or column.
Even when multiple pairs exist, you may be able to determine which digit goes in which cell using the column targets for those two cells.
STEP 4 — USE COLUMN TARGETS TO BREAK PAIR AMBIGUITY
If a row has two empty cells at column positions C1 and C2, and you know the remaining sum but not the order, check the column targets for C1 and C2. The column target for C1 tells you what digit must go there (once you apply the same one-empty-cell logic to C1 vertically).
This cross-axis reasoning — rows constraining columns, columns constraining rows — is the core engine of Number Blocks. Every placement tightens both directions simultaneously.
STEP 5 — CHECK DIGIT RANGE 1–9
Every cell must hold a digit between 1 and 9 inclusive. When you have a remaining sum and a choice set, discard any candidate that would require a digit outside 1–9, or a digit already placed in that row or column. This often collapses multi-candidate situations down to a single valid assignment.
SOLVING ORDER
- Scan all rows and columns — mark every one-empty-cell as forced.
- Place all forced digits, rechecking the updated row and column after each.
- Move to two-empty-cell rows — compute the remaining sum, list digit pairs.
- Use column (or row) targets to break pair ambiguity.
- Repeat from step 1 until solved.
Most beginner grids are fully solvable in two or three full passes of this loop.
BEGINNER TRAP — IGNORING THE ROW AND COLUMN AT THE SAME TIME
A common mistake is placing a digit that satisfies the row target but breaks the column target — or vice versa. After computing a forced digit, always verify: does it keep the column sum achievable given the remaining empty cells? If placing digit D in cell (R, C) would leave the column sum impossible (e.g. remaining empty cells can't add up to what's left), D is wrong regardless of what the row says.