Bidirectional Cycle (XY-Cycle)

A Bidirectional Cycle (XY-Cycle) is a closed forcing-chain loop that combines X-Cycle and Y-Cycle links. Some links in the chain operate on a single digit (X-links: strong and weak links on one candidate), while others pass through bivalue cells (Y-links: cells with exactly two candidates). Because the loop closes, every node can be evaluated in both directions, and 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 Cycle (XY-Cycle)?

A Bidirectional Cycle (XY-Cycle) is a closed forcing-chain loop that mixes two types of links. X-links are single-digit links: strong links where a digit is confined to two cells in a house, and weak links where a digit appears in multiple cells but only one can be true. Y-links pass through bivalue cells — cells with exactly two candidates — where if one candidate is true, the other must be false. An XY-Cycle combines both: some steps chain on a single digit like an X-Cycle, while other steps pass through bivalue cells like a Y-Cycle. When the chain closes back on itself, the alternating pattern assigns a polarity — true or false — to every node, and each node's polarity can be verified by traversing the loop in either direction. 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. XY-Cycles are more flexible than pure X-Cycles or Y-Cycles because they can use whichever link type is available at each step, but they are also harder to spot because the chain can switch between single-digit and bivalue-cell links at any point.

How to spot it

Bidirectional Cycles require tracing chains that can switch between single-digit links and bivalue-cell links. Start by identifying both types of building blocks: strong links (a digit confined to two cells in a house) and bivalue cells (cells with exactly two pencil marks). Try to connect them into a chain: a strong link on digit 5 might lead to a bivalue cell with candidates {5, 8}, which links to another bivalue cell with candidates {8, 2}, which connects to a weak link on digit 2, and so on. If the chain closes back on the starting cell, you have an XY-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

An XY-Cycle is a forcing chain that mixes X-links and Y-links. An X-link operates on a single digit: a strong link means one of two cells must contain the digit, a weak link means at most one can. A Y-link passes through a bivalue cell: if one candidate is true, the other must be false. The chain alternates true and false at every node, regardless of whether the link is an X-link or a Y-link. 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. The mixed nature of XY-Cycles makes them more versatile than pure X-Cycles or Y-Cycles, but the same fundamental logic applies: close the loop, verify polarity, eliminate candidates that see both polarities.