... by: JimF, Australia
Looking at the bottom diagram in the
Avoidable Rectangles page, I can see that if you could put an 8 in B4, you would then have two possible solutions for BC47:
5..8 8..5
8..5 5..8
But if you can swap the 5/8 values after the puzzle is finished and still have a valid solution, how could we ever have deduced the values of 5, 8 and 5 for C4, C7, and B7 respectively in the first place? Any 5's or 8's in the bottom two thirds of the puzzle can restrict which columns can contain a 5 or 8 in the top third of the puzzle, but not which rows can contain them. i.e. they can't have any impact upon whether we have 5 in B7 and 8 in C7 as opposed to the other way around. The values of C4, C7 and B7 are dependent upon each other; we need to know one of them to be able to determine the other two. But if we know none of them, then C4/C7/B7 can have values of 5/8/5 or 8/5/8.
So my problem is that I don't see how this particular example could ever occur in real life.
If we undo those three cells, the possibilities for those cells are:
B4: 589 B7: 58
C5: 58 C7: 58
and we can then use the Unique Rectangles algorithm to determine that B4 is 9, which quickly allows lots of other cells to be solved.
Andrew Stuart writes (13-Mar-2009):
Yes and no is the short answer. Here is the orginal sudoku for that bottom diagram:
.8.7...5..9.523.6..........3.6...8.7.58...
62.9.4...1.5..........4.958.7..6...7.4.
There are infact many ways to crack the numbers in those four cells, I just turned off strategies that did so at that point and tried again. I don't have a facility to cycle through all URs for example, the solver only returns the first it finds and then insists on moving on. But yes you can use UR to solve it. However, its very common for strategies to overlap.
I feel ARs stand out more than URs and since it’s a very interesting strategy it's worth documenting. Also note I've not actually added Avoidable Rectangles to the program yet. What I need to do it implement it fully and run through a very large stock to see if it’s a necessary strategy, that is, if it is used when all other URs have been tested for.
Will add to my job pile :)