Bidirectional Y-Cycle
A Bidirectional Y-Cycle is a closed forcing-chain loop through bivalue cells — cells with exactly two candidates. Each link in the chain shares a candidate with the next, and because the loop closes, every node can be evaluated in both directions. Any candidate outside the loop that sees both a true node and a false node for the same digit can be eliminated.
What is a Bidirectional Y-Cycle?
A Bidirectional Y-Cycle is a closed forcing-chain loop built from bivalue cells — cells that have exactly two remaining candidates. Unlike an X-Cycle, which chains strong and weak links on a single digit, a Y-Cycle links cells by shared candidates: if cell A has candidates {1, 2} and cell B has candidates {2, 3}, they share candidate 2, and the chain propagates through that link. Each step in the chain alternates between the two candidates of a bivalue cell, creating a forcing chain that alternates true and false at every node. When the chain closes back on itself, every node's polarity can be verified by traversing the loop in either direction — hence bidirectional. Any cell outside the loop that sees both a true node and a false node for the same digit cannot hold that digit, so it gets eliminated. Y-Cycles are more flexible than X-Cycles because they use two candidates per link rather than one, but they require bivalue cells to exist on the board.
How to spot it
Bidirectional Y-Cycles require identifying bivalue cells and tracing chains through shared candidates. Start by scanning for bivalue cells — cells with exactly two pencil marks. Look for pairs that share a candidate: if one cell has {1, 2} and another has {2, 3}, candidate 2 links them. Continue the chain by finding another bivalue cell sharing candidate 3, and so on. If the chain closes back on the starting cell, you have a Y-Cycle. The eliminations fall on cells that are visible from two nodes of opposite polarity — one where a candidate is on and one where it is off. These patterns are rare and typically appear only after all singles, subsets, fish, and simpler chain techniques have been exhausted.
The logic
A Y-Cycle is a forcing chain through bivalue cells. Each bivalue cell has exactly two candidates, so if one candidate is true, the other must be false — this is the strong link that drives the chain. The chain propagates: if candidate 2 is false in cell A ({1, 2}), then candidate 1 is true; if candidate 1 is true in cell A, then candidate 1 is false in any cell that shares a house with A; if cell B ({1, 3}) sees cell A, then candidate 1 is false in B, so candidate 3 is true in B; and so on. When the chain forms a closed loop, the alternating pattern forces each node to a definite polarity — true or false. Because the loop is closed, you can confirm each node's polarity by traversing in either direction, hence bidirectional. Any cell outside the loop that sees both a true node and a false node for the same digit faces a contradiction: placing the digit there would break one side of the cycle. So that candidate can be removed.