Forcing single

A cell whose every alternative but one contradicts by singles takes the remaining one

How to use it

When one cell resists everything, try its options. For a cell with a handful of candidate pairs, assume each option in turn and fill in plain singles only — no named techniques, just full houses, naked and hidden singles on both layers, the pair-level singles, and the automatic orthogonality fallout. An option whose cascade dies (a cell left with no letter, no digit, or no valid pair) is impossible. If every option but one dies, the cell takes the survivor.

Each failed branch reports where it died, so the check stays small: replay the singles from the assumption and look at that one cell. Keep it for small option sets — a cell with many options makes for a proof nobody wants to read.

Why it is sound

The real solution assigns this cell some value v from its candidate pairs. An option whose trivial singles cascade ends in contradiction cannot occur in any solution, so it is genuinely impossible. If all options but one contradict, the survivor must be v. The propagation uses only sound (trivial) techniques, so a contradiction verdict is always correct; the technique is sound but incomplete.

A worked example

The cell r2c2 resists the named techniques: it holds letter D and three candidate digits, 2, 4 and 5. Try each: assume D2 and fill in nothing but singles — the cascade dies at r4c5, which is left with no possible digit. Assume D5 — it dies at r3c4, which is left with no possible letter. Only D4 survives a singles-only fill, so r2c2 = D4. The evidence names the exact cell each failed branch dies at, so verifying is replaying two short cascades. This is proof by contradiction at depth one: no search, just "every other door has a wall behind it".