Skip to content

AIC (alternating inference chain) ​

An AIC is a structure that uses strong and weak links in Sudoku to deduce candidate eliminations or digit placements. The term also refers to a large family of chain-based solving techniques.

An AIC consists of alternating strong and weak links, with strong links at both ends, as in A━B┉C━D┉~~~┉E━F┉G━H.

The most important role of an AIC is to establish a logical strong link between its end nodes.

An AIC establishes a strong link between its end nodes

For example, in the chain A━B┉C━D┉~~~┉E━F┉G━H above:

  • If A is false, the strong link A━B makes B true. The weak link B┉C then makes C false. Continuing this reasoning eventually makes H true.

  • The same holds in reverse: if H is false, we can deduce that A is true.

Thus, at least one of A and H is true: there is a strong link between A and H.

Sudoku Techniques Based on AICs ​

An AIC establishes a logical strong link between its end nodes, so the elimination logic using strong and weak links still applies: any node that sees both end nodes must be false. If such a node is a simple node [C:x], we can eliminate candidate x from cell C.

Candidate elimination using an AIC

Most AIC techniques use this principle to eliminate candidates. The exception is the discontinuous loop, which can place a digit.


In general, an AIC cannot contain branches or loops. Such a chain is called a linear chain. An exception occurs when there is a connection between the end nodes, giving rise to a dedicated family of loop techniques.

AICs cannot contain branches or loops

Linear Chains ​

A two-strong-link chain is an AIC involving a single candidate digit and two strong links, both of which are conjugate pairs. Its structure is A━B┉C━D, where both A━B and C━D are conjugate pairs.

Two-strong-link chain

The positions of the two conjugate pairs give rise to four recognizable techniques:

  • Both conjugate pairs lie in rows, or both lie in columns, so they are parallel: Skyscraper.

  • One conjugate pair lies in a row and the other in a column, so they are perpendicular: Two-String Kite.

  • One conjugate pair lies in a row or column and the other in a box: Turbot Fish.

  • One of the “conjugate pairs” consists of one or two grouped nodes arranged along a perpendicular row and column within a box: Empty Rectangle.

Wings ​

Wings are AICs with three strong links and bivalue cells at both ends. Their structure is A━B┉C━D┉E━F, where A━B and E━F are both bivalue cells, called pincers or pincer cells. The middle strong link C━D is called the pivot.

Wing structure

Different forms of the pivot give rise to four recognizable techniques:

  • The pivot is also a strong link within a bivalue cell: XY-Wing.

  • An extension of the XY-Wing allows the pivot cell to contain the elimination candidate: XYZ-Wing.

  • The pivot is a conjugate pair: W-Wing.

  • The pivot is a strong link between two intersections in the same row or column, and the entire structure lies within a single band or stack: Chute Remote Pairs.

X-Chains ​

X-Chain

An X-Chain is an AIC made up of simple nodes for a single candidate digit. Skyscrapers, Two-String Kites, and Turbot Fish can all be viewed as short special cases of X-Chains.

Allowing grouped nodes gives a Grouped X-Chain. An Empty Rectangle can be viewed as a short special case of a grouped X-Chain.

XY-Chains ​

XY-Chain

An XY-Chain is an AIC in which every strong link comes from a bivalue cell. The digits in those cells may vary, but the chain's end nodes must refer to the same digit.

Ordinary Chains ​

Ordinary Chains are AICs without the distinctive features described above. Depending on where eliminations occur, they fall into two types: Ordinary Chain (Open) and Ordinary Chain (Closed).


  • Ordinary Chain (Open): if both end nodes refer to candidate x, but their cells cannot see each other, we can eliminate candidate x from any other cell that sees both end nodes. Eliminations occur outside the cells containing the end nodes, hence the term open.
Ordinary Chain (Open)

Allowing grouped nodes anywhere in the chain, including its end nodes, gives a Grouped Ordinary Chain (Open).

The cells involved in the end nodes of an Ordinary Chain (Open) must not see each other. Otherwise, because the end nodes refer to the same candidate, they would form a weak link that closes the chain into a continuous loop.


  • Ordinary Chain (Closed): if the end nodes refer to different candidates but their cells can see each other, suppose one end node is [C1:x] and the other is [C2:y]. If [C1:y] or [C2:x] exists, it must see both [C1:x] and [C2:y] and is therefore false. In other words, if C1 contains candidate y, we can eliminate y from C1; if C2 contains candidate x, we can eliminate x from C2. Eliminations are confined to the cells containing the end nodes, hence the term closed.
Ordinary Chain (Closed)

Allowing grouped nodes within the chain, but not at its end nodes, gives a Grouped Ordinary Chain (Closed).

The cells containing the end nodes of an Ordinary Chain (Closed) must see each other. Otherwise, the required weak links cannot be formed, and no elimination is possible.

Because an Ordinary Chain (Closed) has the weak link [C1:y]┉[C2:y] and/or [C1:x]┉[C2:x] between the cells containing its end nodes, it is sometimes treated as a special kind of “discontinuous loop.” This description is not precise, however: there is no direct link between the end nodes (nodes are defined by combinations of cells and candidates, not by cells alone). The links between their cells merely make the structure look like a loop.

Loops ​

Continuous Loops ​

When the end nodes of an AIC also form a weak link, the entire chain forms a continuous loop. There are no uniquely defined end nodes: starting from any node along its strong link, we can follow alternating strong and weak links around the entire loop and continue into another circuit. This uninterrupted alternation gives the loop its name.

Continuous Loops

A key feature of a continuous loop is that any two nodes directly connected by a weak link are also connected by an AIC around the other side of the loop. In other words, the two nodes connected by each weak link also have a logical strong link. We can therefore eliminate any candidate that sees both nodes connected by any weak link in the loop.

Normally, a continuous loop uses only simple nodes. Allowing grouped nodes gives a grouped continuous loop.

Discontinuous Loops ​

When both end nodes of an AIC are the same simple node [C:x], the entire chain forms a discontinuous loop. Starting from this node along either strong link, we can follow alternating strong and weak links around the entire chain and return to the node. We cannot continue, however: the last link on returning is strong, and the link on departing is also strong, so continuing would break the required alternation.

Discontinuous Loops

An AIC establishes a logical strong link between its end nodes: they cannot both be false, so at least one must be true. In a discontinuous loop, however, both end nodes are the same node [C:x]. The only possibility is that this node is true, so cell C must contain digit x.

Normally, a discontinuous loop uses only simple nodes. Allowing grouped nodes anywhere except at the end node gives a grouped discontinuous loop.