But this is a bit of a new approach using pairs and loops. (Edit: Nothing new under the sun, these have been described before by RW as "entwined pairs" in his structure of the grid thread!)
Not, I should add, implication loops; but actual numerical loops that you can trace when you examine any solved grid.
The idea is, if you select any two adjacent digits, say 1 and 6, and draw a line from the 1 to the 6, proceed by right angle to the next available 1 and next 6 and so on, you sooner or later arrive back at the starting cell, perhaps right away!
- Code: Select all
*-----------*
|...|...|...|
|...|...|...|
|...|...|...|
|---+---+---|
|..1|6..|...|
|..6|1..|...|
|...|...|...|
|---+---+---|
|...|...|...|
|...|...|...|
|...|...|...|
*-----------*
This is the simplest case, a kind of pseudo-Unique Rectangle.
Note that this situation can occur in a solution, but only when one of the digits is a "given"--otherwise the puzzle would have 2 valid solutions.
Of course a similar-looking situation may occur when more than two units are involved.
- Code: Select all
*-----------*
|...|...|...|
|...|...|...|
|...|...|...|
|---+---+---|
|..1|...|6..|
|...|...|...|
|...|...|...|
|---+---+---|
|..6|...|1..|
|...|...|...|
|...|...|...|
*-----------*
This is quite legal, NOT a UR situation.
Digits needn't be adjacent to form a loop--but every adjacent digit-pair does form one.
In more complex cases, you reach the starting cell after a long journey all or part-way around the grid.
- Code: Select all
*-----------*
|1.6|...|...|
|...|.1.|.6.|
|...|6..|1..|
|---+---+---|
|..1|...|6..|
|...|.6.|..1|
|6..|..1|...|
|---+---+---|
|.6.|...|.1.|
|.1.|..6|...|
|...|1..|..6|
*-----------*
Every 1 and every 6 in a puzzle can be linked up as part of a loop; and loops can vary in length. This can be easily verified.
Now, that may be fun with crayons for you, but what use is that in solving a puzzle?
It depends. Consider Ruud's Daily Nightmare for 2/25/07 Sunday:
- Code: Select all
*-----------*
|..2|3..|...|
|..6|58.|..9|
|38.|..2|..4|
|---+---+---|
|61.|...|.7.|
|.2.|..3|...|
|..4|.7.|.12|
|---+---+---|
|...|...|4..|
|...|6.5|..8|
|.61|..8|.97|
*-----------*
after basic eliminations:
- Code: Select all
*-----------*
|..2|3..|.8.|
|..6|58.|..9|
|38.|..2|..4|
|---+---+---|
|61.|...|.7.|
|.2.|..3|.4.|
|..4|.7.|.12|
|---+---+---|
|...|...|4..|
|...|6.5|..8|
|.61|..8|.97|
*-----------*
*--------------------------------------------------------------------*
| 14579 4579 2 | 3 469 14679 | 567 8 156 |
| 147 47 6 | 5 8 147 | 23 23 9 |
| 3 8 579 | 179 169 2 | 1567 56 4 |
|----------------------+----------------------+----------------------|
| 6 1 3589 | 2489 2459 49 | 3589 7 35 |
| 5789 2 5789 | 189 1569 3 | 5689 4 56 |
| 589 359 4 | 89 7 69 | 35689 1 2 |
|----------------------+----------------------+----------------------|
| 2589 59 3589 | 279 239 179 | 4 56 1356 |
| 2479 3479 379 | 6 12349 5 | 123 23 8 |
| 245 6 1 | 24 234 8 | 235 9 7 |
*--------------------------------------------------------------------*
We note that r8c7 must be a 1 due to "type 1" UR. After this, Simple Sudoku gets us to this point:
- Code: Select all
*--------------------------------------------------------------------*
| 4579 457 2 | 3 46 4679 | 567 8 1 |
| 1 47 6 | 5 8 47 | 23 23 9 |
| 3 8 579 | 19 16 2 | 67 56 4 |
|----------------------+----------------------+----------------------|
| 6 1 3589 | 24 245 49 | 389 7 35 |
| 789 2 5789 | 189 156 3 | 689 4 56 |
| 589 35 4 | 89 7 69 | 35689 1 2 |
|----------------------+----------------------+----------------------|
| 28 9 358 | 7 23 1 | 4 56 356 |
| 247 347 37 | 6 9 5 | 1 23 8 |
| 25 6 1 | 24 234 8 | 235 9 7 |
*--------------------------------------------------------------------*
Observe the ones and sixes in the left stack, they form a complete loop.
r2c1--r2c3--r9c3--r9c2--r4c2--r4c1--r2c1(home).
Now the question becomes, what sort of one-six loops are in the other two stacks?
It becomes evident that a single racetrack-type path using all the ones and sixes does not exist, so smaller loops are present.
Since r6c8 is a given, perhaps it's part of loop r6c8--r7c8--r7c6--r6c6?
Sure enough, that's the backdoor to this puzzle...
r7c8=6, r6c6=6, and Simple Sudoku can take it from there.