Hi kurbads,
I think that the best way to see how BUG works is to have a look at a puzzle with two solutions. So I created this puzzle:
8.5.....696.1.7.58.........5.14863..4..391..2..972518.78.2..6.519..63..7.5..7.9..
After basics and an X-Wing on 3s, one arrives at this BUG:
- Code: Select all
+--------------+--------------+--------------+
| 8 14 5 | 9 43 2 | 7 31 6 |
| 9 6 23 | 1 34 7 | 42 5 8 |
| 32 41 7 | 6 5 8 | 24 9 13 |
+--------------+--------------+--------------+
| 5 2 1 | 4 8 6 | 3 7 9 |
| 4 7 8 | 3 9 1 | 5 6 2 |
| 6 3 9 | 7 2 5 | 1 8 4 |
+--------------+--------------+--------------+
| 7 8 34 | 2 1 9 | 6 43 5 |
| 1 9 42 | 5 6 3 | 8 24 7 |
| 23 5 6 | 8 7 4 | 9 12 31 |
+--------------+--------------+--------------+
As for the BUG, the only difference is in box 1.
You can see that the puzzle has two solutions, one uses the first candidate in every unsolved cell, the other uses the second.
As Leren wrote, a BUG either has two solutions or none. If it has none, there should be a contradiction common to both options.
Coming back to the original puzzle, we can find exactly that:
- Code: Select all
+---------------+---------------+---------------+
| 8 14 5 | 9 34 2 | 7 13 6 |
| 23b 6 7 | 1 34 8 | 24 5 9 |
| 9 14 23a | 6 5 7 | 24 8 13b |
+---------------+---------------+---------------+
| 5 2 1 | 7 8 6 | 3 9 4 |
| 4 7 8 | 3 9 1 | 5 6 2 |
| 6 3 9 | 4 2 5 | 1 7 8 |
+---------------+---------------+---------------+
| 7 8 34 | 2 1 9 | 6 34 5 |
| 1 9 24 | 5 6 3 | 8 24 7 |
| 23a 5 6 | 8 7 4 | 9 123 13a |
+---------------+---------------+---------------+
As you can see, the 3s in r9c19 are both false, since they cannot both be true. That forces 3r9c8 to be true.
Alternatively, we can use a technique called Broken Wing.
It states that the five marked cells would create an oddagon (with no solution), therefore there has to be a 3 (so-called guardian) preventing it. The only guardian is 3r9c8.
This approach is mostly used when there is more than one guardian (and thus we cannot use the chain directly).
Hopefully that explains why the BUG options are equivalent.
Marek