Start with the most constrained line

A line with many clues has fewer valid completions. Scan it before a mostly empty line, since one placement often creates another forced move nearby.

Mark every pair before counting

Pairs and sandwiches are visual and fast. Resolve them first, then update the counts. This order reduces mental bookkeeping.

Count both values

Do not count only 1s. A line can be forced because it has reached its limit of either value, and the overlooked count is often the next move.

Alternate rows and columns

Every move changes two lines. After filling a row cell, inspect its column immediately instead of finishing a full horizontal sweep first.

Compare nearly complete lines

A row with two blanks may look ambiguous until you compare it with a completed row. Uniqueness can remove one full pattern even when no local triple appears.

Keep assumptions short

On a Very hard board, test one value only until it produces a clear rule violation. Long speculative branches are harder to audit and easier to misread.

Restart the scan after each move

A new value can create a pair, complete a count, or remove a duplicate candidate. Returning to simple rules is usually faster than pushing deeper logic too early.