Here's a BUG+7 example:
- Code: Select all
.6..9..2.2..6.3..1..5...6...9.831.4.1..4.2..9.8.569.3...6...9..8..9.6..3.4..5..1.
*--------------------------------------------------*
| 4 6 18 | 17 9 5 | 3 2 78 |
| 2 7 89 | 6 48 3 | 45 59+8 1 |
| 39 13 5 | 27+1 18+2 47 | 6 89 47+8 |
|----------------+----------------+----------------|
| 6 9 2 | 8 3 1 | 7 4 5 |
| 1 5 3 | 4 7 2 | 8 6 9 |
| 7 8 4 | 5 6 9 | 1 3 2 |
|----------------+----------------+----------------|
| 5 23+1 6 | 13+2 12 47 | 9 78 48 |
| 8 12 17 | 9 24+1 6 | 45 57 3 |
| 39 4 79 | 37 5 8 | 2 1 6 |
*--------------------------------------------------*
Here it's easy to see that a 1 in r7c4 would immediately kill four of the extra candidates (r7c4<>2, r3c4 & r7c2 & r8c5<>1). Without too much effort it's also easy to spot that
- Code: Select all
if r7c4=1 => r7c5=2 (r3c5<>2)
=> r1c4=7 => r1c9=8 (r2c8 & r3c9<>8)
That killed all the remaining extra candidates so we know that r7c4<>1. That advances the puzzle to a BUG+5:
- Code: Select all
*--------------------------------------------------*
| 4 6 18 | 17 9 5 | 3 2 78 |
| 2 7 89 | 6 48 3 | 45 59+8 1 |
| 39 13 5 | 27+1 28 47 | 6 89 47+8 |
|----------------+----------------+----------------|
| 6 9 2 | 8 3 1 | 7 4 5 |
| 1 5 3 | 4 7 2 | 8 6 9 |
| 7 8 4 | 5 6 9 | 1 3 2 |
|----------------+----------------+----------------|
| 5 23+1 6 | 23 12 47 | 9 78 48 |
| 8 12 17 | 9 24+1 6 | 45 57 3 |
| 39 4 79 | 37 5 8 | 2 1 6 |
*--------------------------------------------------*
I can find several different eliminations here, but I think the easiest is:
- Code: Select all
if r3c8=8 (r2c8 & r3c9<>8)
=> r3c5=2 => r7c5=1 (r7c2 & r8c5<>1)
=> r1c9=7 => r1c4=1 (r3c4<>1
That would also kill all the exra candidates => r3c8<>8
Anybody else also using these? I wonder what's the biggest n for BUG+n that could give a useful (readable) solution.
RW