Easy stuff first. Here's a copy of the puzzle that will fit on the screen for
stuartn. The 'W' is my addition:
- Code: Select all
W 6 9 | 1 4 3 | 8 . 7
. X 7 | 9 . . | . . 4
4 Y . | 7 . . | . 9 3
-------+-------+------
9 . . | 8 5 7 | 3 6 1
7 Z . | 2 1 6 | 9 4 5
6 1 5 | 3 9 4 | 2 7 8
-------+-------+------
. 7 . | 5 8 9 | 4 1 .
8 . . | 6 7 1 | 5 3 .
. . . | 4 3 2 | 7 8 .
Here's solver log output that explains why 2 isn't a candidate for r3c3 and gives a forced chain that cracks the problem:
- Code: Select all
The values 1, 3, 6 and 8 occupy the cells r3c3, r5c3, r7c3 and r9c3 in some order.
- The moves r3c3:=2 and r7c3:=2 have been eliminated.
Consider the chain r3c2-5-r3c6~8~r3c3-1-r9c3-1-r9c1-5-r9c2.
When the cell r3c2 contains the value 5, so does the cell r9c2 - a contradiction.
Therefore, the cell r3c2 cannot contain the value 5.
shazbot - 2 and 5 are removed from r2c1, not X and Y.
Now some chat. Here's a slightly more general way to look at the technique introduced by
bennys. Note that since the values 2, 3, 5 and 8 fill the cells W, X, Y and Z, they form a disjoint subset (or quad). Normally, we only identify disjoint subsets that lie in a single sector and allow us to make immediate eliminations. However, even when no immediate eliminations are possible, disjoint subsets enforce useful restrictions. Consider the candidates 2 and 5 in Box 1. Were they to be placed anywhere other than in cells W, X and Y, we would no longer have four candidates with which to fill the disjoint subset {W,X,Y,Z}. On the other hand, the candidates 3 and 8 cannot immediately be eliminated from Box 1 because they are candidates for Z, which, crucially, lies outside Box 1.
The general rule here is 'Once a Disjoint Subset has been identified, the subset values should be removed as candidates from other cells in any sector that contains a subset cell, unless that subset value should occur in a subset cell outside of that sector'.
Does that make sense? It will give me something to code over the weekend!