Forcing Chain

A Forcing Chain is an open implication chain that mixes single-digit links (X-links) and bivalue-cell links (Y-links) to propagate truth values across the grid. An X-link uses strong and weak links on a single candidate. A Y-link passes through a bivalue cell — a cell with exactly two candidates — where if one is true, the other must be false. The chain starts at a cell where a candidate is assumed true or false, and follows alternating links to a conclusion. If the chain reaches a contradiction or proves a candidate must be true (or false), eliminations or placements follow.

What is a Forcing Chain?

A Forcing Chain is an open implication chain that combines two types of links: X-links and Y-links. An X-link operates on a single digit: a strong link means a digit is confined to two cells in a house so one must be true, and a weak link means a digit appears in multiple cells but at most one can be true. A Y-link passes through a bivalue cell — a cell with exactly two candidates — where if one candidate is true, the other must be false. The chain starts at a cell where you assume a candidate is true (or false), then follows the links: if the start cell's candidate is true, a weak link forces it false in other cells of that house; a strong link forces the other cell in its pair true; a bivalue cell forces its other candidate false, which may start a new X-link on that candidate; and so on. The chain continues, mixing X-links and Y-links freely, until it reaches a conclusion. If the chain proves a candidate must be true in a cell, that placement can be made. If it proves a candidate must be false, it can be eliminated. If the chain reaches a contradiction — a cell that must be both true and false — the initial assumption was wrong. Unlike Forcing X-Chains (single-digit only) or Forcing Y-Chains (bivalue cells only), a general Forcing Chain mixes both link types, making it more flexible and more powerful.

How to spot it

To find a Forcing Chain, identify both building blocks: strong links (a digit confined to two cells in a house) and bivalue cells (cells with exactly two pencil marks). Start by assuming a candidate is true or false in a cell, and trace the implications. If the cell is a bivalue cell with candidates {A, B}, assuming A is true forces B false, which may trigger a weak link on B in its house, or a strong link if B is confined to two cells. If the cell is part of a strong link on digit C, assuming C is true forces C false in the other cell of the pair, which may lead to a bivalue cell, and so on. The chain can switch between X-links and Y-links at any step. Look for chains that end at a cell where the conclusion contradicts the assumption (allowing an elimination), or where the chain proves a candidate must be true (allowing a placement). The flexibility of mixing X-links and Y-links makes Forcing Chains more common than pure X-Chains or Y-Chains, but also harder to trace because the chain can change digit at any bivalue cell.

The logic

A Forcing Chain works by propagating truth values through a mix of X-links and Y-links. An X-link on digit C: a strong link means one of two cells must contain C, so if one is true the other is false; a weak link means at most one cell can contain C, so if one is true all others in that house are false. A Y-link through a bivalue cell with candidates {A, B}: if A is true, B must be false, and vice versa. The chain starts by assuming a candidate is true (or false) in the start cell. Each link propagates the truth value: true at one end forces false at the other end of a weak link, or true at the other end of a strong link; true for one candidate in a bivalue cell forces false for the other candidate, which may start a new chain on that candidate in a different digit. The chain alternates true and false at each step, but the digit can change when passing through a bivalue cell. If the chain reaches a cell where the candidate must be both true and false — a contradiction — the initial assumption was wrong, and the candidate can be eliminated from the start cell. If the chain proves a candidate must be true in a cell, that placement can be made. The logic is a direct application of strong-link, weak-link, and bivalue-cell semantics, combined into a single open chain that can switch between single-digit and bivalue-cell links at any step.