It is time to assault the Toughest Known Puzzle

Advanced methods and approaches for solving Sudoku puzzles

It is time to assault the Toughest Known Puzzle

Postby MadOverlord » Tue Oct 18, 2005 1:58 pm

As many of you know, there is a pathologically difficult 23-given Sudoku that is generally regarded to be the toughest known puzzle. It is this puzzle that inspired the development of the tabling technique by myself and Doug Bowman.

(Edited: I brainfarted originally and said it was a 17-given, not that that is relevant)

Code: Select all
+-------+-------+-------+
| . . . | . 7 . | 9 4 . |
| . . . | . 9 . | . . 5 |
| 3 . . | . . 5 | . 7 . |
+-------+-------+-------+
| . . 7 | 4 . . | 1 . . |
| 4 6 3 | . . . | . . . |
| . . . | . . 7 | . 8 . |
+-------+-------+-------+
| 8 . . | . . . | . . . |
| 7 . . | . . . | . 2 8 |
| . 5 . | 2 6 . | . . . |
+-------+-------+-------+


When you get to the point where tabling is required, the puzzle looks like this:

Code: Select all
+-------------------+-------------------+-------------------+
| 1256  12    1258  | 1368  7     1236  | 9     4     1236  |
| 126   7     1248  | 1368  9     12346 | 2368  136   5     |
| 3     1249  12489 | 168   1248  5     | 268   7     126   |
+-------------------+-------------------+-------------------+
| 259   8     7     | 4     235   2369  | 1     3569  2369  |
| 4     6     3     | 1589  1258  129   | 257   59    279   |
| 1259  129   1259  | 3569  235   7     | 23456 8     23469 |
+-------------------+-------------------+-------------------+
| 8     12349 12469 | 7     1345  1349  | 456   1569  1469  |
| 7     1349  1469  | 1359  1345  1349  | 456   2     8     |
| 19    5     149   | 2     6     8     | 347   139   13479 |
+-------------------+-------------------+-------------------+


And exhaustive tabling (with aggressive pins and forces, all the stops pulled out), generates a list of veracities (statements that must be true no matter what square in a given group has a particular value) as follows:

R1C1=2 (Implied by all R1=1 squares)
R1C1<>1 (Implied by all R1=1 squares)
R1C1<>5 (Implied by all R1=1 squares)
R1C1<>6 (Implied by all R1=1 squares)
R1C2=1 (Implied by at least 2 R1<>1 squares)
R1C2<>2 (Implied by all R1=1 squares)
R1C3=5 (Implied by all R1=1 squares)
R1C3<>1 (Implied by all R1=1 squares)
R1C3<>2 (Implied by all R1=1 squares)
R1C3<>8 (Implied by all R1=1 squares)
R1C4=8 (Implied by all R1=1 squares)
R1C4<>1 (Implied by all R1=1 squares)
R1C4<>3 (Implied by all R1=1 squares)
R1C4<>6 (Implied by all R1=1 squares)
R1C6=6 (Implied by all R1=1 squares)
R1C6<>1 (Implied by all R1=1 squares)
R1C6<>2 (Implied by all R1=1 squares)
R1C6<>3 (Implied by all R1=1 squares)
R1C9=3 (Implied by all R1=1 squares)
R1C9<>1 (Implied by all R1=1 squares)
R1C9<>2 (Implied by all R1=1 squares)
R1C9<>6 (Implied by all R1=1 squares)
R2C1=6 (Implied by all R1=1 squares)
R2C1<>1 (Implied by all R1=1 squares)
R2C1<>2 (Implied by all R1=1 squares)
R2C3=8 (Implied by all R1=1 squares)
R2C3<>1 (Implied by all R1=1 squares)
R2C3<>2 (Implied by all R1=1 squares)
R2C3<>4 (Implied by all R1=1 squares)
R2C4=3 (Implied by all R1=1 squares)
R2C4<>1 (Implied by all R1=1 squares)
R2C4<>6 (Implied by all R1=1 squares)
R2C4<>8 (Implied by all R1=1 squares)
R2C6=4 (Implied by all R1=1 squares)
R2C6<>1 (Implied by all R1=1 squares)
R2C6<>2 (Implied by all R1=1 squares)
R2C6<>3 (Implied by all R1=1 squares)
R2C6<>6 (Implied by all R1=1 squares)
R2C7=2 (Implied by all R1=1 squares)
R2C7<>3 (Implied by all R1=1 squares)
R2C7<>6 (Implied by all R1=1 squares)
R2C7<>8 (Implied by all R1=1 squares)
R2C8=1 (Implied by all R1=1 squares)
R2C8<>3 (Implied by all R1=1 squares)
R2C8<>6 (Implied by all R1=1 squares)
R3C2=4 (Implied by all R1=1 squares)
R3C2<>1 (Implied by all R1=1 squares)
R3C2<>2 (Implied by all R1=1 squares)
R3C2<>9 (Implied by all R1=1 squares)
R3C3=9 (Implied by all R1=1 squares)
R3C3<>1 (Implied by all R1=1 squares)
R3C3<>2 (Implied by all R1=1 squares)
R3C3<>4 (Implied by all R1=1 squares)
R3C3<>8 (Implied by all R1=1 squares)
R3C4=1 (Implied by all R1=1 squares)
R3C4<>6 (Implied by all R1=1 squares)
R3C4<>8 (Implied by all R1=1 squares)
R3C5=2 (Implied by all R1=1 squares)
R3C5<>1 (Implied by all R1=1 squares)
R3C5<>4 (Implied by all R1=1 squares)
R3C5<>8 (Implied by all R1=1 squares)
R3C7=8 (Implied by all R1=1 squares)
R3C7<>2 (Implied by all R1=1 squares)
R3C7<>6 (Implied by all R1=1 squares)
R3C9=6 (Implied by all R1=1 squares)
R3C9<>1 (Implied by all R1=1 squares)
R3C9<>2 (Implied by all R1=1 squares)
R4C1=5 (Implied by all R1=1 squares)
R4C1<>2 (Implied by all R1=1 squares)
R4C1<>9 (Implied by all R1=1 squares)
R4C5=3 (Implied by all R1=1 squares)
R4C5<>2 (Implied by all R1=1 squares)
R4C5<>5 (Implied by all R1=1 squares)
R4C6=2 (Implied by all R1=1 squares)
R4C6<>3 (Implied by all R1=1 squares)
R4C6<>6 (Implied by all R1=1 squares)
R4C6<>9 (Implied by all R1=1 squares)
R4C8=6 (Implied by all R1=1 squares)
R4C8<>3 (Implied by all R1=1 squares)
R4C8<>5 (Implied by all R1=1 squares)
R4C8<>9 (Implied by all R1=1 squares)
R4C9=9 (Implied by all R1=1 squares)
R4C9<>2 (Implied by all R1=1 squares)
R4C9<>3 (Implied by all R1=1 squares)
R4C9<>6 (Implied by all R1=1 squares)
R5C4=9 (Implied by all R1=1 squares)
R5C4<>1 (Implied by all R1=1 squares)
R5C4<>5 (Implied by all R1=1 squares)
R5C4<>8 (Implied by all R1=1 squares)
R5C5=8 (Implied by all R1=1 squares)
R5C5<>1 (Implied by all R1=1 squares)
R5C5<>2 (Implied by all R1=1 squares)
R5C5<>5 (Implied by all R1=1 squares)
R5C6=1 (Implied by all R1=1 squares)
R5C6<>2 (Implied by all R1=1 squares)
R5C6<>9 (Implied by all R1=1 squares)
R5C7=7 (Implied by all R1=1 squares)
R5C7<>2 (Implied by all R1=1 squares)
R5C7<>5 (Implied by all R1=1 squares)
R5C8=5 (Implied by all R1=1 squares)
R5C8<>9 (Implied by all R1=1 squares)
R5C9=2 (Implied by all R1=1 squares)
R5C9<>7 (Implied by all R1=1 squares)
R5C9<>9 (Implied by all R1=1 squares)
R6C1=1 (Implied by all R1=1 squares)
R6C1<>2 (Implied by all R1=1 squares)
R6C1<>5 (Implied by all R1=1 squares)
R6C1<>9 (Implied by all R1=1 squares)
R6C2=9 (Implied by all R1=1 squares)
R6C2<>1 (Implied by all R1=1 squares)
R6C2<>2 (Implied by all R1=1 squares)
R6C3=2 (Implied by all R1=1 squares)
R6C3<>1 (Implied by all R1=1 squares)
R6C3<>5 (Implied by all R1=1 squares)
R6C3<>9 (Implied by all R1=1 squares)
R6C4=6 (Implied by all R1=1 squares)
R6C4<>3 (Implied by all R1=1 squares)
R6C4<>5 (Implied by all R1=1 squares)
R6C4<>9 (Implied by all R1=1 squares)
R6C5=5 (Implied by all R1=1 squares)
R6C5<>2 (Implied by all R1=1 squares)
R6C5<>3 (Implied by all R1=1 squares)
R6C7=3 (Implied by all R1=1 squares)
R6C7<>2 (Implied by all R1=1 squares)
R6C7<>4 (Implied by all R1=1 squares)
R6C7<>5 (Implied by all R1=1 squares)
R6C7<>6 (Implied by all R1=1 squares)
R6C9=4 (Implied by all R1=1 squares)
R6C9<>2 (Implied by all R1=1 squares)
R6C9<>3 (Implied by all R1=1 squares)
R6C9<>6 (Implied by all R1=1 squares)
R6C9<>9 (Implied by all R1=1 squares)
R7C2=2 (Implied by all R1=1 squares)
R7C2<>1 (Implied by all R1=1 squares)
R7C2<>3 (Implied by all R1=1 squares)
R7C2<>4 (Implied by all R1=1 squares)
R7C2<>9 (Implied by all R1=1 squares)
R7C3=6 (Implied by all R1=1 squares)
R7C3<>1 (Implied by all R1=1 squares)
R7C3<>2 (Implied by all R1=1 squares)
R7C3<>4 (Implied by all R1=1 squares)
R7C3<>9 (Implied by all R1=1 squares)
R7C5=4 (Implied by all R1=1 squares)
R7C5<>1 (Implied by all R1=1 squares)
R7C5<>3 (Implied by all R1=1 squares)
R7C5<>5 (Implied by all R1=1 squares)
R7C6=3 (Implied by all R1=1 squares)
R7C6<>1 (Implied by all R1=1 squares)
R7C6<>4 (Implied by all R1=1 squares)
R7C6<>9 (Implied by all R1=1 squares)
R7C7=5 (Implied by all R1=1 squares)
R7C7<>4 (Implied by all R1=1 squares)
R7C7<>6 (Implied by all R1=1 squares)
R7C8=9 (Implied by all R1=1 squares)
R7C8<>1 (Implied by all R1=1 squares)
R7C8<>5 (Implied by all R1=1 squares)
R7C8<>6 (Implied by all R1=1 squares)
R7C9=1 (Implied by all R1=1 squares)
R7C9<>4 (Implied by all R1=1 squares)
R7C9<>6 (Implied by all R1=1 squares)
R7C9<>9 (Implied by all R1=1 squares)
R8C2=3 (Implied by all R1=1 squares)
R8C2<>1 (Implied by all R1=1 squares)
R8C2<>4 (Implied by all R1=1 squares)
R8C2<>9 (Implied by all R1=1 squares)
R8C3=4 (Implied by all R1=1 squares)
R8C3<>1 (Implied by all R1=1 squares)
R8C3<>6 (Implied by all R1=1 squares)
R8C3<>9 (Implied by all R1=1 squares)
R8C4=5 (Implied by all R1=1 squares)
R8C4<>1 (Implied by all R1=1 squares)
R8C4<>3 (Implied by all R1=1 squares)
R8C4<>9 (Implied by all R1=1 squares)
R8C5=1 (Implied by all R1=1 squares)
R8C5<>3 (Implied by all R1=1 squares)
R8C5<>4 (Implied by all R1=1 squares)
R8C5<>5 (Implied by all R1=1 squares)
R8C6=9 (Implied by all R1=1 squares)
R8C6<>1 (Implied by all R1=1 squares)
R8C6<>3 (Implied by all R1=1 squares)
R8C6<>4 (Implied by all R1=1 squares)
R8C7=6 (Implied by all R1=1 squares)
R8C7<>4 (Implied by all R1=1 squares)
R8C7<>5 (Implied by all R1=1 squares)
R9C1=9 (Implied by all R1=1 squares)
R9C1<>1 (Implied by all R1=1 squares)
R9C3=1 (Implied by all R1=1 squares)
R9C3<>4 (Implied by all R1=1 squares)
R9C3<>9 (Implied by all R1=1 squares)
R9C7=4 (Implied by all R1=1 squares)
R9C7<>3 (Implied by all R1=1 squares)
R9C7<>7 (Implied by all R1=1 squares)
R9C8=3 (Implied by all R1=1 squares)
R9C8<>1 (Implied by all R1=1 squares)
R9C8<>9 (Implied by all R1=1 squares)
R9C9=7 (Implied by all R1=1 squares)
R9C9<>1 (Implied by all R1=1 squares)
R9C9<>3 (Implied by all R1=1 squares)
R9C9<>4 (Implied by all R1=1 squares)
R9C9<>9 (Implied by all R1=1 squares)

(for explanations of why each of these are true, you'll need to get a copy of the susser, solve it using tabling with everything pulled out, then mouse over particular squares and hit "t" (unshifted) to display the implications of the square)

Now, it occurs to me that since all of the veracities are R1=1 based (the R1C2=1 (Implied by at least 2 R1<>1 squares) one is equivalent to a R1=1 veracity IIRC), that someone might be able to spot a pattern that can be exploited.

Thus, I "Cry contradiction, and let loose the dogs of logic!" Have at it, boys and girls!

Best
R
Last edited by MadOverlord on Tue Oct 18, 2005 12:41 pm, edited 1 time in total.
MadOverlord
 
Posts: 81
Joined: 10 June 2005

Postby PaulIQ164 » Tue Oct 18, 2005 3:21 pm

Am I missing something, or does that puzzle have 23 givens, not 17?
PaulIQ164
 
Posts: 533
Joined: 16 July 2005

Postby Moschopulus » Tue Oct 18, 2005 4:39 pm

I also count 23 clues. I don't think it is relevant to the question though.
Moschopulus
 
Posts: 256
Joined: 16 July 2005

Postby MadOverlord » Tue Oct 18, 2005 4:40 pm

Moschopulus wrote:I also count 23 clues. I don't think it is relevant to the question though.


Right, my bad. It's got 23. Brainfart. But as you say, not relevant!

R
MadOverlord
 
Posts: 81
Joined: 10 June 2005

Postby Lummox JR » Tue Oct 18, 2005 6:08 pm

Well, this sucker sure is difficult. My solver makes a feeble attempt to find a few clues and then ends up stuck doing bifurcating chains, which as I understand it is supposedly equivalent to tabling if you take it out to its limit. If you let bifurcating chains give you a clue at a time, though, which is a more human-oriented solving method, you'll find some very interesting things. First of all, my implementation of bifurcating chains is optimized to go after 2-candidate cells first, yet in several cases it fails to find anything in those cells and instead goes after 3+ cells. (I have not yet implemented a test that says if a placement proves that another placement is both true and false, it must be eliminated. In theory this could yield me a lot more clues.) Another observation is that any time less complicated methods become available, they don't stay that way for very long. Sometimes a pointing pair or a coloring opportunity can be unearthed, but it quickly goes back to either supercoloring or bifurcating chains. After the last time bifurcating chains runs, an XYZ-wing and a swordfish pop out of the muck, and then it's time for still more supercoloring!

Leaving out the detailed grid analysis displayed in the output for the advanced techniques, here's what my solver says. (It uses multicoloring as a synonym for supercoloring here.)
Code: Select all
. . .|. 7 .|9 4 .
. . .|. 9 .|. . 5
3 . .|. . 5|. 7 .
-----------------
. . 7|4 . .|1 . .
4 6 3|. . .|. . .
. . .|. . 7|. 8 .
-----------------
8 . .|. . .|. . .
7 . .|. . .|. 2 8
. 5 .|2 6 .|. . .

Hidden single 8 in box 8 at 6,9
Hidden single 7 in box 8 at 4,7
Hidden single 8 in box 4 at 2,4
Hidden single 7 in box 1 at 2,2
Pointing pair for digit 1 in box 4, row 6
Pointing pair for digit 6 in box 7, column 3
Box-line intersection for digit 3 in row 9, box 9
All choices for (8,7) prove that (6,5)<>2
(5,5)=1 proves (6,5)=1, which is a contradiction, so (5,5)<>1
All choices for (1,4) prove that (5,5)<>2
Box-line intersection for digit 2 in row 5, box 6
Hidden subset found for box 6 in digits 27 for positions 46
All choices for 1 in box 4 prove that (5,5)<>5
Naked single 8 at 5,5
All choices for (5,3) prove that (6,5)=1
All choices for 4 in column 3 prove that (1,2)<>1
All choices for (7,9) prove that (8,2)<>6
All choices for 5 in row 6 prove that (7,3)<>6
Coloring reveals 9,4 may not be 6
Coloring reveals 9,7 may not be 6
All choices for 2 in box 2 prove that (9,3)<>1
(4,2)=1 proves (8,2)=1, which is a contradiction, so (4,2)<>1
(8,9)=1 proves (8,2)=1, which is a contradiction, so (8,9)<>1
All choices for (5,8) prove that (8,2)=1
All choices for (9,1) prove that (8,9)=3
All choices for 4 in box 1 prove that (7,3)<>2
Naked single 8 at 7,3
Multicoloring reveals 6,2 cannot be 6
All choices for 3 in column 9 prove that (1,2)<>2
Naked single 6 at 1,2
Pointing pair for digit 6 in box 3, column 9
Multicoloring reveals 7,6 cannot be 5
Multicoloring reveals 4,6 cannot be 5
Multicoloring reveals 6,4 cannot be 9
Multicoloring reveals 8,7 cannot be 5
Multicoloring reveals 7,7 cannot be 6
Multicoloring reveals 1,1 cannot be 1
Multicoloring reveals 3,1 cannot be 1
Multicoloring reveals 4,8 cannot be 9
Multicoloring reveals 3,8 cannot be 9
(1,6)=5 proves (1,1)=5, which is a contradiction, so (1,6)<>5
All choices for (7,9) prove that (2,1)=1
XYZ-wing with 29 at 2,6, 259 at 1,4, and 25 at 1,1 eliminates 2 at 1,6
Hidden subset found for column 1 in digits 25 for positions 14
Pointing pair for digit 9 in box 4, row 6
Hidden single 9 in box 5 at 4,5
Naked single 5 at 8,5
Hidden single 5 in column 4 at 4,8
Hidden single 5 in box 9 at 7,7
Hidden single 1 in column 4 at 4,3
Hidden single 6 in row 3 at 9,3
Naked subset found for row 6 in digits 346 for positions 479
Swordfish found for 2 by row in rows 367 and columns 235
Multicoloring places 9 at 6,8
Multicoloring places 9 at 3,3
Multicoloring places 1 at 1,6
Multicoloring places 9 at 1,9
Multicoloring places 9 at 2,6
Multicoloring places 3 at 9,1
Multicoloring places 2 at 7,2
Multicoloring places 7 at 7,5
Multicoloring places 2 at 9,5
Multicoloring places 3 at 7,6
Multicoloring places 4 at 7,9
Multicoloring places 7 at 9,9
Multicoloring places 6 at 6,1
Multicoloring places 6 at 8,4
Multicoloring places 9 at 9,4
Multicoloring places 6 at 4,6
Multicoloring places 6 at 3,7
Multicoloring places 9 at 8,7
Multicoloring places 6 at 7,8
Multicoloring places 1 at 5,8
Multicoloring places 2 at 1,1
Multicoloring places 5 at 3,1
Multicoloring places 8 at 4,1
Multicoloring places 8 at 3,2
Multicoloring places 3 at 4,2
Multicoloring places 4 at 6,2
Multicoloring places 4 at 2,3
Multicoloring places 2 at 5,3
Multicoloring places 5 at 1,4
Multicoloring places 3 at 5,4
Multicoloring places 2 at 6,4
Multicoloring places 2 at 3,6
Multicoloring places 5 at 5,6
Multicoloring places 2 at 2,7
Multicoloring places 3 at 6,7
Multicoloring places 4 at 9,6
Multicoloring places 3 at 2,8
Multicoloring places 1 at 9,7
Multicoloring places 1 at 3,9
Hidden single 4 in box 8 at 5,7
Hidden single 4 in box 7 at 3,8
Lummox JR
 
Posts: 125
Joined: 22 September 2005

Postby Nick70 » Tue Oct 18, 2005 7:22 pm

My solver finds a lot of bifurcating forcing chains too, some of them are HUGE--this might give an indea of what is the hardest point in the puzzle.


. . . . 7 . 9 4 .
. . . . 9 . . . 5
3 . . . . 5 . 7 .
. . 7 4 . . 1 . .
4 6 3 . . . . . .
. . . . . 7 . 8 .
8 . . . . . . . .
7 . . . . . . 2 8
. 5 . 2 6 . . . .

Put 7 in r2c2
Put 8 in r9c6
Put 7 in r7c4
Put 8 in r4c2

3R9 is included in 3B9, therefore:
- Remove 3 from r7c7
- Remove 3 from r7c8
- Remove 3 from r7c9
- Remove 3 from r8c7

6B7 is included in 6C3, therefore:
- Remove 6 from r1c3
- Remove 6 from r2c3
- Remove 6 from r3c3

1B4 is included in 1R6, therefore:
- Remove 1 from r6c4
- Remove 1 from r6c5

Found a forcing chain:
r6c2=1 => r1c2<>1 => r1c2=2 => r3c3<>2
r6c2=2 => r7c2<>2 => r7c3=2 => r3c3<>2
r6c2=9 => r3c2<>9 => r3c3=9 => r3c3<>2
- Remove 2 from r3c3

Found a forcing chain:
r6c2=1 => r1c2<>1 => r1c2=2 => r7c2<>2 => r7c3=2 => r7c3<>9
r6c2=2 => r7c2<>2 => r7c3=2 => r7c3<>9
r6c2=9 => r3c2<>9 => r3c3=9 => r7c3<>9
- Remove 9 from r7c3

Found a forcing chain:
r6c2=1 => r1c2<>1 => r1c2=2 => r7c2<>2 => r7c3=2 => r7c3<>6 => r8c3=6 => r8c3<>9
r6c2=2 => r7c2<>2 => r7c3=2 => r7c3<>6 => r8c3=6 => r8c3<>9
r6c2=9 => r3c2<>9 => r3c3=9 => r8c3<>9
- Remove 9 from r8c3

Found a bifurcating forcing chain:
r6c2<>2 => [ r6c2=1 => r1c2<>1 => r1c2=2 => r1c6<>2 => [ r2c6=2 => r2c6<>4 => r3c5=4 => r3c5<>8 => r5c5=8 ] [ r3c5=2 => r3c5<>8 => r5c5=8 ] ] [ r6c2=9 => r6c4<>9 => [ r5c4=9 => r5c4<>8 => r5c5=8 ] [ r8c4=9 => r8c4<>5 => [ r5c4=5 => r5c4<>8 => r5c5=8 ] [ r6c4=5 => r6c3<>5 => r1c3=5 => r1c3<>8 => r1c4=8 => r5c4<>8 => r5c5=8 ] ] ]
r7c2<>2 => r7c3=2 => r2c3<>2 => [ r2c3=1 => r1c2<>1 => r1c2=2 => r1c6<>2 => [ r2c6=2 => r2c6<>4 => r3c5=4 => r3c5<>8 => r5c5=8 ] [ r3c5=2 => r3c5<>8 => r5c5=8 ] ] [ r2c3=4 => r2c6<>4 => r3c5=4 => r3c5<>8 => r5c5=8 ] [ r2c3=8 => r1c3<>8 => r1c4=8 => r5c4<>8 => r5c5=8 ]
- Put 8 in r5c5

Found a bifurcating forcing chain:
r8c4<>9 => [ r5c4=9 => r5c4<>1 => r5c6=1 => r5c6<>2 => [ r5c7=2 => r6c7<>2 ] [ r5c9=2 => r6c7<>2 ] ] [ r6c4=9 => r6c4<>6 => [ r6c7=6 => r6c7<>2 ] [ r6c9=6 => r6c9<>4 => r6c7=4 => r6c7<>2 ] ]
r8c4<>5 => [ r5c4=5 => r5c4<>1 => r5c6=1 => r5c6<>2 => [ r5c7=2 => r6c7<>2 ] [ r5c9=2 => r6c7<>2 ] ] [ r6c4=5 => r6c4<>6 => [ r6c7=6 => r6c7<>2 ] [ r6c9=6 => r6c9<>4 => r6c7=4 => r6c7<>2 ] ]
- Remove 2 from r6c7

Found a bifurcating forcing chain:
r8c4<>9 => [ r5c4=9 => r5c4<>1 => r5c6=1 => r5c6<>2 => [ r5c7=2 => r6c9<>2 ] [ r5c9=2 => r6c9<>2 ] ] [ r6c4=9 => r6c4<>6 => [ r6c7=6 => r6c7<>4 => r6c9=4 => r6c9<>2 ] [ r6c9=6 => r6c9<>2 ] ]
r8c4<>5 => [ r5c4=5 => r5c4<>1 => r5c6=1 => r5c6<>2 => [ r5c7=2 => r6c9<>2 ] [ r5c9=2 => r6c9<>2 ] ] [ r6c4=5 => r6c4<>6 => [ r6c7=6 => r6c7<>4 => r6c9=4 => r6c9<>2 ] [ r6c9=6 => r6c9<>2 ] ]
- Remove 2 from r6c9

Found a bifurcating forcing chain:
r2c7=3 => r2c7<>6
r6c7=3 => r6c7<>4 => r6c9=4 => r6c9<>6 => [ r6c4=6 => r3c4<>6 => [ r3c7=6 => r2c7<>6 ] [ r3c9=6 => r2c7<>6 ] ] [ r6c7=6 => r2c7<>6 ]
r9c7=3 => r9c7<>7 => r5c7=7 => r5c7<>2 => [ r2c7=2 => r2c7<>6 ] [ r3c7=2 => r3c7<>8 => r2c7=8 => r2c7<>6 ]
- Remove 6 from r2c7

Found a bifurcating forcing chain:
r2c6<>4 => r3c5=4 => r3c2<>4 => [ r7c2=4 => r7c2<>2 => r7c3=2 => r1c3<>2 ] [ r8c2=4 => r8c2<>3 => r7c2=3 => r7c2<>2 => r7c3=2 => r1c3<>2 ]
r2c6<>2 => [ r1c6=2 => r1c3<>2 ] [ r3c5=2 => r6c5<>2 => [ r6c1=2 => r6c1<>1 => [ r6c2=1 => r1c2<>1 => r1c2=2 => r1c3<>2 ] [ r6c3=1 => r6c3<>5 => r1c3=5 => r1c3<>2 ] ] [ r6c2=2 => r7c2<>2 => r7c3=2 => r1c3<>2 ] [ r6c3=2 => r1c3<>2 ] ]
- Remove 2 from r1c3

Found a bifurcating forcing chain:
r7c3<>6 => r8c3=6 => r8c3<>1 => [ r8c2=1 => r1c2<>1 => r1c2=2 => r1c6<>2 => [ r2c6=2 => r2c6<>4 => r3c5=4 => r3c5<>1 => [ r7c5=1 => r7c6<>1 ] [ r8c5=1 => r7c6<>1 ] ] [ r3c5=2 => r3c5<>1 => [ r7c5=1 => r7c6<>1 ] [ r8c5=1 => r7c6<>1 ] ] ] [ r8c4=1 => r7c6<>1 ] [ r8c5=1 => r7c6<>1 ] [ r8c6=1 => r7c6<>1 ]
r7c8<>6 => [ r2c8=6 => r2c8<>1 => [ r1c9=1 => r1c2<>1 => r1c2=2 => r1c6<>2 => [ r2c6=2 => r2c6<>4 => r3c5=4 => r3c5<>1 => [ r7c5=1 => r7c6<>1 ] [ r8c5=1 => r7c6<>1 ] ] [ r3c5=2 => r3c5<>1 => [ r7c5=1 => r7c6<>1 ] [ r8c5=1 => r7c6<>1 ] ] ] [ r3c9=1 => r3c5<>1 => [ r7c5=1 => r7c6<>1 ] [ r8c5=1 => r7c6<>1 ] ] ] [ r4c8=6 => r4c6<>6 => [ r1c6=6 => r1c6<>2 => [ r2c6=2 => r2c6<>4 => r3c5=4 => r3c5<>1 => [ r7c5=1 => r7c6<>1 ] [ r8c5=1 => r7c6<>1 ] ] [ r3c5=2 => r3c5<>1 => [ r7c5=1 => r7c6<>1 ] [ r8c5=1 => r7c6<>1 ] ] ] [ r2c6=6 => r2c6<>4 => r3c5=4 => r3c5<>1 => [ r7c5=1 => r7c6<>1 ] [ r8c5=1 => r7c6<>1 ] ] ]
- Remove 1 from r7c6

Found a bifurcating forcing chain:
r8c4<>5 => [ r7c5=5 => r7c5<>1 => [ r8c4=1 => r8c2<>1 ] [ r8c5=1 => r8c2<>1 ] [ r8c6=1 => r8c2<>1 ] ] [ r8c5=5 => r8c5<>4 => [ r3c5=4 => r3c2<>4 => [ r7c2=4 => r7c2<>3 => r8c2=3 => r8c2<>1 ] [ r8c2=4 => r8c2<>1 ] ] [ r7c5=4 => r7c5<>1 => [ r8c4=1 => r8c2<>1 ] [ r8c5=1 => r8c2<>1 ] [ r8c6=1 => r8c2<>1 ] ] ]
r8c7<>5 => [ r8c7=4 => r8c5<>4 => [ r3c5=4 => r3c2<>4 => [ r7c2=4 => r7c2<>3 => r8c2=3 => r8c2<>1 ] [ r8c2=4 => r8c2<>1 ] ] [ r7c5=4 => r7c5<>1 => [ r8c4=1 => r8c2<>1 ] [ r8c5=1 => r8c2<>1 ] [ r8c6=1 => r8c2<>1 ] ] ] [ r8c7=6 => r8c3<>6 => r7c3=6 => r7c3<>2 => r7c2=2 => r1c2<>2 => r1c2=1 => r8c2<>1 ]
- Remove 1 from r8c2

Found a bifurcating forcing chain:
r4c8<>6 => [ r4c8=3 => r6c7<>3 => [ r2c7=3 => r2c7<>2 => [ r3c7=2 => r3c5<>2 => [ r4c5=2 => r5c6<>2 => [ r5c7=2 => r5c7<>5 ] [ r5c9=2 => r5c9<>7 => r5c7=7 => r5c7<>5 ] ] [ r6c5=2 => r5c6<>2 => [ r5c7=2 => r5c7<>5 ] [ r5c9=2 => r5c9<>7 => r5c7=7 => r5c7<>5 ] ] ] [ r5c7=2 => r5c7<>5 ] ] [ r9c7=3 => r9c7<>7 => r5c7=7 => r5c7<>5 ] ] [ r4c8=5 => r5c7<>5 ] [ r4c8=9 => r5c8<>9 => r5c8=5 => r5c7<>5 ]
r4c6<>6 => [ r1c6=6 => r1c6<>1 => [ r1c4=1 => r5c4<>1 => [ r5c4=5 => r5c7<>5 ] [ r5c4=9 => r5c8<>9 => r5c8=5 => r5c7<>5 ] ] [ r2c4=1 => r5c4<>1 => [ r5c4=5 => r5c7<>5 ] [ r5c4=9 => r5c8<>9 => r5c8=5 => r5c7<>5 ] ] [ r2c6=1 => r2c6<>4 => r3c5=4 => r3c5<>2 => [ r1c6=2 => r5c6<>2 => [ r5c7=2 => r5c7<>5 ] [ r5c9=2 => r5c9<>7 => r5c7=7 => r5c7<>5 ] ] [ r2c6=2 => r5c6<>2 => [ r5c7=2 => r5c7<>5 ] [ r5c9=2 => r5c9<>7 => r5c7=7 => r5c7<>5 ] ] ] [ r3c4=1 => r5c4<>1 => [ r5c4=5 => r5c7<>5 ] [ r5c4=9 => r5c8<>9 => r5c8=5 => r5c7<>5 ] ] [ r3c5=1 => r3c5<>2 => [ r1c6=2 => r5c6<>2 => [ r5c7=2 => r5c7<>5 ] [ r5c9=2 => r5c9<>7 => r5c7=7 => r5c7<>5 ] ] [ r2c6=2 => r5c6<>2 => [ r5c7=2 => r5c7<>5 ] [ r5c9=2 => r5c9<>7 => r5c7=7 => r5c7<>5 ] ] ] ] [ r2c6=6 => r2c6<>4 => r3c5=4 => r3c5<>2 => [ r1c6=2 => r5c6<>2 => [ r5c7=2 => r5c7<>5 ] [ r5c9=2 => r5c9<>7 => r5c7=7 => r5c7<>5 ] ] [ r2c6=2 => r5c6<>2 => [ r5c7=2 => r5c7<>5 ] [ r5c9=2 => r5c9<>7 => r5c7=7 => r5c7<>5 ] ] ]
- Remove 5 from r5c7

Found a bifurcating forcing chain:
r2c3<>4 => r2c6=4 => r3c5<>4 => [ r7c5=4 => r7c5<>1 => [ r3c5=1 => r3c4<>1 => [ r3c4=6 => r6c4<>6 => [ r6c7=6 => r6c7<>5 ] [ r6c9=6 => r6c9<>4 => r6c7=4 => r6c7<>5 ] ] [ r3c4=8 => r1c4<>8 => r1c3=8 => r1c3<>5 => r6c3=5 => r6c7<>5 ] ] [ r8c5=1 => r8c5<>5 => [ r7c5=5 => r7c8<>5 => [ r4c8=5 => r6c7<>5 ] [ r5c8=5 => r6c7<>5 ] ] [ r8c4=5 => r5c4<>5 => r5c8=5 => r6c7<>5 ] ] ] [ r8c5=4 => r8c5<>5 => [ r7c5=5 => r7c8<>5 => [ r4c8=5 => r6c7<>5 ] [ r5c8=5 => r6c7<>5 ] ] [ r8c4=5 => r5c4<>5 => r5c8=5 => r6c7<>5 ] ]
r9c3<>4 => [ r9c3=1 => r8c3<>1 => [ r8c4=1 => r3c4<>1 => [ r3c4=6 => r6c4<>6 => [ r6c7=6 => r6c7<>5 ] [ r6c9=6 => r6c9<>4 => r6c7=4 => r6c7<>5 ] ] [ r3c4=8 => r1c4<>8 => r1c3=8 => r1c3<>5 => r6c3=5 => r6c7<>5 ] ] [ r8c5=1 => r8c5<>5 => [ r7c5=5 => r7c8<>5 => [ r4c8=5 => r6c7<>5 ] [ r5c8=5 => r6c7<>5 ] ] [ r8c4=5 => r5c4<>5 => r5c8=5 => r6c7<>5 ] ] [ r8c6=1 => r5c6<>1 => r5c4=1 => r5c4<>5 => r5c8=5 => r6c7<>5 ] ] [ r9c3=9 => r9c1<>9 => r9c1=1 => r8c3<>1 => [ r8c4=1 => r3c4<>1 => [ r3c4=6 => r6c4<>6 => [ r6c7=6 => r6c7<>5 ] [ r6c9=6 => r6c9<>4 => r6c7=4 => r6c7<>5 ] ] [ r3c4=8 => r1c4<>8 => r1c3=8 => r1c3<>5 => r6c3=5 => r6c7<>5 ] ] [ r8c5=1 => r8c5<>5 => [ r7c5=5 => r7c8<>5 => [ r4c8=5 => r6c7<>5 ] [ r5c8=5 => r6c7<>5 ] ] [ r8c4=5 => r5c4<>5 => r5c8=5 => r6c7<>5 ] ] [ r8c6=1 => r5c6<>1 => r5c4=1 => r5c4<>5 => r5c8=5 => r6c7<>5 ] ]
- Remove 5 from r6c7

5B6 is included in 5C8, therefore:
- Remove 5 from r7c8

Found a bifurcating forcing chain:
r3c3=9 => r9c3<>9 => [ r9c3=1 => r9c1<>1 => r9c1=9 => r4c1<>9 => [ r6c1=9 => r6c9<>9 ] [ r6c2=9 => r6c9<>9 ] [ r6c3=9 => r6c9<>9 ] ] [ r9c3=4 => r8c3<>4 => [ r8c3=1 => r9c1<>1 => r9c1=9 => r4c1<>9 => [ r6c1=9 => r6c9<>9 ] [ r6c2=9 => r6c9<>9 ] [ r6c3=9 => r6c9<>9 ] ] [ r8c3=6 => r8c7<>6 => [ r8c7=4 => r6c7<>4 => r6c9=4 => r6c9<>9 ] [ r8c7=5 => r7c7<>5 => r7c5=5 => r4c5<>5 => [ r4c1=5 => r4c1<>9 => [ r6c1=9 => r6c9<>9 ] [ r6c2=9 => r6c9<>9 ] [ r6c3=9 => r6c9<>9 ] ] [ r4c8=5 => r5c8<>5 => r5c8=9 => r6c9<>9 ] ] ] ]
r3c2=9 => r3c2<>4 => [ r2c3=4 => r2c6<>4 => r3c5=4 => r3c5<>2 => [ r4c5=2 => r4c5<>5 => [ r4c1=5 => r4c1<>9 => [ r6c1=9 => r6c9<>9 ] [ r6c2=9 => r6c9<>9 ] [ r6c3=9 => r6c9<>9 ] ] [ r4c8=5 => r5c8<>5 => r5c8=9 => r6c9<>9 ] ] [ r6c5=2 => r6c5<>3 => [ r6c4=3 => r6c4<>6 => [ r6c7=6 => r6c7<>4 => r6c9=4 => r6c9<>9 ] [ r6c9=6 => r6c9<>9 ] ] [ r6c7=3 => r6c7<>4 => r6c9=4 => r6c9<>9 ] [ r6c9=3 => r6c9<>9 ] ] ] [ r3c3=4 => r8c3<>4 => [ r8c3=1 => r9c1<>1 => r9c1=9 => r4c1<>9 => [ r6c1=9 => r6c9<>9 ] [ r6c2=9 => r6c9<>9 ] [ r6c3=9 => r6c9<>9 ] ] [ r8c3=6 => r8c7<>6 => [ r8c7=4 => r6c7<>4 => r6c9=4 => r6c9<>9 ] [ r8c7=5 => r7c7<>5 => r7c5=5 => r4c5<>5 => [ r4c1=5 => r4c1<>9 => [ r6c1=9 => r6c9<>9 ] [ r6c2=9 => r6c9<>9 ] [ r6c3=9 => r6c9<>9 ] ] [ r4c8=5 => r5c8<>5 => r5c8=9 => r6c9<>9 ] ] ] ]
- Remove 9 from r6c9

Found a bifurcating forcing chain:
r4c8<>6 => [ r2c8=6 => r2c1<>6 => [ r2c1=1 => r2c3<>1 ] [ r2c1=2 => r1c2<>2 => r1c2=1 => r2c3<>1 ] ] [ r7c8=6 => r7c8<>1 => [ r2c8=1 => r2c3<>1 ] [ r9c8=1 => r9c1<>1 => [ r1c1=1 => r2c3<>1 ] [ r2c1=1 => r2c3<>1 ] [ r6c1=1 => r6c1<>2 => [ r6c2=2 => r1c2<>2 => r1c2=1 => r2c3<>1 ] [ r6c3=2 => r7c3<>2 => r7c2=2 => r1c2<>2 => r1c2=1 => r2c3<>1 ] [ r6c5=2 => r3c5<>2 => [ r1c6=2 => r1c2<>2 => r1c2=1 => r2c3<>1 ] [ r2c6=2 => r2c6<>4 => r2c3=4 => r2c3<>1 ] ] ] ] ]
r4c6<>6 => r6c4=6 => r6c4<>9 => [ r6c1=9 => r6c1<>2 => [ r6c2=2 => r1c2<>2 => r1c2=1 => r2c3<>1 ] [ r6c3=2 => r7c3<>2 => r7c2=2 => r1c2<>2 => r1c2=1 => r2c3<>1 ] [ r6c5=2 => r3c5<>2 => [ r1c6=2 => r1c2<>2 => r1c2=1 => r2c3<>1 ] [ r2c6=2 => r2c6<>4 => r2c3=4 => r2c3<>1 ] ] ] [ r6c2=9 => r6c2<>1 => [ r6c1=1 => r6c1<>2 => [ r6c2=2 => r1c2<>2 => r1c2=1 => r2c3<>1 ] [ r6c3=2 => r7c3<>2 => r7c2=2 => r1c2<>2 => r1c2=1 => r2c3<>1 ] [ r6c5=2 => r3c5<>2 => [ r1c6=2 => r1c2<>2 => r1c2=1 => r2c3<>1 ] [ r2c6=2 => r2c6<>4 => r2c3=4 => r2c3<>1 ] ] ] [ r6c3=1 => r2c3<>1 ] ] [ r6c3=9 => r6c3<>5 => r1c3=5 => r1c1<>5 => [ r1c1=1 => r2c3<>1 ] [ r1c1=2 => r1c2<>2 => r1c2=1 => r2c3<>1 ] [ r1c1=6 => r2c1<>6 => [ r2c1=1 => r2c3<>1 ] [ r2c1=2 => r1c2<>2 => r1c2=1 => r2c3<>1 ] ] ]
- Remove 1 from r2c3

Found a bifurcating forcing chain:
r4c1=5 => r4c1<>9 => [ r4c6=9 => r4c6<>6 => [ r1c6=6 => r1c6<>1 => [ r1c4=1 => r5c4<>1 => r5c6=1 => r5c6<>2 ] [ r2c4=1 => r5c4<>1 => r5c6=1 => r5c6<>2 ] [ r2c6=1 => r2c6<>4 => r3c5=4 => r3c5<>2 => [ r1c6=2 => r5c6<>2 ] [ r2c6=2 => r5c6<>2 ] ] [ r3c4=1 => r5c4<>1 => r5c6=1 => r5c6<>2 ] [ r3c5=1 => r3c5<>2 => [ r1c6=2 => r5c6<>2 ] [ r2c6=2 => r5c6<>2 ] ] ] [ r2c6=6 => r2c6<>4 => r3c5=4 => r3c5<>2 => [ r1c6=2 => r5c6<>2 ] [ r2c6=2 => r5c6<>2 ] ] ] [ r4c8=9 => r5c9<>9 => [ r5c9=2 => r5c6<>2 ] [ r5c9=7 => r5c7<>7 => r5c7=2 => r5c6<>2 ] ] [ r4c9=9 => r4c9<>2 => [ r5c7=2 => r5c6<>2 ] [ r5c9=2 => r5c6<>2 ] ]
r6c1=5 => r6c1<>2 => [ r1c1=2 => r1c2<>2 => r1c2=1 => r1c6<>1 => [ r1c4=1 => r5c4<>1 => r5c6=1 => r5c6<>2 ] [ r2c4=1 => r5c4<>1 => r5c6=1 => r5c6<>2 ] [ r2c6=1 => r2c6<>4 => r3c5=4 => r3c5<>2 => [ r1c6=2 => r5c6<>2 ] [ r2c6=2 => r5c6<>2 ] ] [ r3c4=1 => r5c4<>1 => r5c6=1 => r5c6<>2 ] [ r3c5=1 => r3c5<>2 => [ r1c6=2 => r5c6<>2 ] [ r2c6=2 => r5c6<>2 ] ] ] [ r2c1=2 => r2c7<>2 => [ r3c7=2 => r3c5<>2 => [ r4c5=2 => r5c6<>2 ] [ r6c5=2 => r5c6<>2 ] ] [ r5c7=2 => r5c6<>2 ] ] [ r4c1=2 => r4c9<>2 => [ r5c7=2 => r5c6<>2 ] [ r5c9=2 => r5c6<>2 ] ]
r6c3=5 => r1c3<>5 => [ r1c3=1 => r1c6<>1 => [ r1c4=1 => r5c4<>1 => r5c6=1 => r5c6<>2 ] [ r2c4=1 => r5c4<>1 => r5c6=1 => r5c6<>2 ] [ r2c6=1 => r2c6<>4 => r3c5=4 => r3c5<>2 => [ r1c6=2 => r5c6<>2 ] [ r2c6=2 => r5c6<>2 ] ] [ r3c4=1 => r5c4<>1 => r5c6=1 => r5c6<>2 ] [ r3c5=1 => r3c5<>2 => [ r1c6=2 => r5c6<>2 ] [ r2c6=2 => r5c6<>2 ] ] ] [ r1c3=8 => r2c3<>8 => [ r2c3=2 => r2c7<>2 => [ r3c7=2 => r3c5<>2 => [ r4c5=2 => r5c6<>2 ] [ r6c5=2 => r5c6<>2 ] ] [ r5c7=2 => r5c6<>2 ] ] [ r2c3=4 => r2c6<>4 => r3c5=4 => r3c5<>2 => [ r1c6=2 => r5c6<>2 ] [ r2c6=2 => r5c6<>2 ] ] ]
- Remove 2 from r5c6

2R5 is included in 2B6, therefore:
- Remove 2 from r4c9

2R5 and 7R5 are a pair, simplify r5c7 and r5c9 [hidden pair]
- Remove 9 from r5c9

Found a bifurcating forcing chain:
r3c5<>4 => [ r3c5=1 => r3c9<>1 => [ r1c9=1 => r1c9<>3 => [ r2c7=3 => r2c4<>3 => [ r1c4=3 => r1c4<>8 => r1c3=8 => r1c3<>5 => r6c3=5 => r6c4<>5 => [ r5c4=5 => r5c4<>1 => r5c6=1 ] [ r8c4=5 => r8c4<>9 => [ r7c6=9 => r5c6<>9 => r5c6=1 ] [ r8c6=9 => r5c6<>9 => r5c6=1 ] ] ] [ r6c4=3 => r6c4<>5 => [ r5c4=5 => r5c4<>1 => r5c6=1 ] [ r8c4=5 => r8c4<>9 => [ r7c6=9 => r5c6<>9 => r5c6=1 ] [ r8c6=9 => r5c6<>9 => r5c6=1 ] ] ] [ r8c4=3 => r8c4<>9 => [ r7c6=9 => r5c6<>9 => r5c6=1 ] [ r8c6=9 => r5c6<>9 => r5c6=1 ] ] ] [ r2c8=3 => r2c4<>3 => [ r1c4=3 => r1c4<>8 => r1c3=8 => r1c3<>5 => r6c3=5 => r6c4<>5 => [ r5c4=5 => r5c4<>1 => r5c6=1 ] [ r8c4=5 => r8c4<>9 => [ r7c6=9 => r5c6<>9 => r5c6=1 ] [ r8c6=9 => r5c6<>9 => r5c6=1 ] ] ] [ r6c4=3 => r6c4<>5 => [ r5c4=5 => r5c4<>1 => r5c6=1 ] [ r8c4=5 => r8c4<>9 => [ r7c6=9 => r5c6<>9 => r5c6=1 ] [ r8c6=9 => r5c6<>9 => r5c6=1 ] ] ] [ r8c4=3 => r8c4<>9 => [ r7c6=9 => r5c6<>9 => r5c6=1 ] [ r8c6=9 => r5c6<>9 => r5c6=1 ] ] ] ] [ r2c8=1 => r2c8<>6 => [ r1c9=6 => r1c9<>3 => [ r2c7=3 => r2c4<>3 => [ r1c4=3 => r1c4<>8 => r1c3=8 => r1c3<>5 => r6c3=5 => r6c4<>5 => [ r5c4=5 => r5c4<>1 => r5c6=1 ] [ r8c4=5 => r8c4<>9 => [ r7c6=9 => r5c6<>9 => r5c6=1 ] [ r8c6=9 => r5c6<>9 => r5c6=1 ] ] ] [ r6c4=3 => r6c4<>5 => [ r5c4=5 => r5c4<>1 => r5c6=1 ] [ r8c4=5 => r8c4<>9 => [ r7c6=9 => r5c6<>9 => r5c6=1 ] [ r8c6=9 => r5c6<>9 => r5c6=1 ] ] ] [ r8c4=3 => r8c4<>9 => [ r7c6=9 => r5c6<>9 => r5c6=1 ] [ r8c6=9 => r5c6<>9 => r5c6=1 ] ] ] [ r2c8=3 => r2c4<>3 => [ r1c4=3 => r1c4<>8 => r1c3=8 => r1c3<>5 => r6c3=5 => r6c4<>5 => [ r5c4=5 => r5c4<>1 => r5c6=1 ] [ r8c4=5 => r8c4<>9 => [ r7c6=9 => r5c6<>9 => r5c6=1 ] [ r8c6=9 => r5c6<>9 => r5c6=1 ] ] ] [ r6c4=3 => r6c4<>5 => [ r5c4=5 => r5c4<>1 => r5c6=1 ] [ r8c4=5 => r8c4<>9 => [ r7c6=9 => r5c6<>9 => r5c6=1 ] [ r8c6=9 => r5c6<>9 => r5c6=1 ] ] ] [ r8c4=3 => r8c4<>9 => [ r7c6=9 => r5c6<>9 => r5c6=1 ] [ r8c6=9 => r5c6<>9 => r5c6=1 ] ] ] ] [ r3c7=6 => r3c4<>6 => [ r3c4=1 => r5c4<>1 => r5c6=1 ] [ r3c4=8 => r1c4<>8 => r1c3=8 => r1c3<>5 => r6c3=5 => r6c4<>5 => [ r5c4=5 => r5c4<>1 => r5c6=1 ] [ r8c4=5 => r8c4<>9 => [ r7c6=9 => r5c6<>9 => r5c6=1 ] [ r8c6=9 => r5c6<>9 => r5c6=1 ] ] ] ] [ r3c9=6 => r3c4<>6 => [ r3c4=1 => r5c4<>1 => r5c6=1 ] [ r3c4=8 => r1c4<>8 => r1c3=8 => r1c3<>5 => r6c3=5 => r6c4<>5 => [ r5c4=5 => r5c4<>1 => r5c6=1 ] [ r8c4=5 => r8c4<>9 => [ r7c6=9 => r5c6<>9 => r5c6=1 ] [ r8c6=9 => r5c6<>9 => r5c6=1 ] ] ] ] ] ] [ r3c5=2 => r4c5<>2 => [ r4c1=2 => r4c1<>5 => [ r6c1=5 => r6c4<>5 => [ r5c4=5 => r5c4<>1 => r5c6=1 ] [ r8c4=5 => r8c4<>9 => [ r7c6=9 => r5c6<>9 => r5c6=1 ] [ r8c6=9 => r5c6<>9 => r5c6=1 ] ] ] [ r6c3=5 => r6c4<>5 => [ r5c4=5 => r5c4<>1 => r5c6=1 ] [ r8c4=5 => r8c4<>9 => [ r7c6=9 => r5c6<>9 => r5c6=1 ] [ r8c6=9 => r5c6<>9 => r5c6=1 ] ] ] ] [ r4c6=2 => r4c6<>6 => r6c4=6 => r6c4<>5 => [ r5c4=5 => r5c4<>1 => r5c6=1 ] [ r8c4=5 => r8c4<>9 => [ r7c6=9 => r5c6<>9 => r5c6=1 ] [ r8c6=9 => r5c6<>9 => r5c6=1 ] ] ] ]
r2c6<>4 => r2c3=4 => r9c3<>4 => [ r9c7=4 => r9c7<>3 => [ r2c7=3 => r2c4<>3 => [ r1c4=3 => r1c4<>8 => r1c3=8 => r1c3<>5 => r6c3=5 => r6c4<>5 => [ r5c4=5 => r5c4<>1 => r5c6=1 ] [ r8c4=5 => r8c4<>9 => [ r7c6=9 => r5c6<>9 => r5c6=1 ] [ r8c6=9 => r5c6<>9 => r5c6=1 ] ] ] [ r6c4=3 => r6c4<>5 => [ r5c4=5 => r5c4<>1 => r5c6=1 ] [ r8c4=5 => r8c4<>9 => [ r7c6=9 => r5c6<>9 => r5c6=1 ] [ r8c6=9 => r5c6<>9 => r5c6=1 ] ] ] [ r8c4=3 => r8c4<>9 => [ r7c6=9 => r5c6<>9 => r5c6=1 ] [ r8c6=9 => r5c6<>9 => r5c6=1 ] ] ] [ r6c7=3 => r6c5<>3 => [ r6c5=2 => r4c5<>2 => [ r4c1=2 => r4c1<>5 => [ r6c1=5 => r6c4<>5 => [ r5c4=5 => r5c4<>1 => r5c6=1 ] [ r8c4=5 => r8c4<>9 => [ r7c6=9 => r5c6<>9 => r5c6=1 ] [ r8c6=9 => r5c6<>9 => r5c6=1 ] ] ] [ r6c3=5 => r6c4<>5 => [ r5c4=5 => r5c4<>1 => r5c6=1 ] [ r8c4=5 => r8c4<>9 => [ r7c6=9 => r5c6<>9 => r5c6=1 ] [ r8c6=9 => r5c6<>9 => r5c6=1 ] ] ] ] [ r4c6=2 => r4c6<>6 => r6c4=6 => r6c4<>5 => [ r5c4=5 => r5c4<>1 => r5c6=1 ] [ r8c4=5 => r8c4<>9 => [ r7c6=9 => r5c6<>9 => r5c6=1 ] [ r8c6=9 => r5c6<>9 => r5c6=1 ] ] ] ] [ r6c5=5 => r6c4<>5 => [ r5c4=5 => r5c4<>1 => r5c6=1 ] [ r8c4=5 => r8c4<>9 => [ r7c6=9 => r5c6<>9 => r5c6=1 ] [ r8c6=9 => r5c6<>9 => r5c6=1 ] ] ] ] ] [ r9c9=4 => r9c9<>7 => r9c7=7 => r9c7<>3 => [ r2c7=3 => r2c4<>3 => [ r1c4=3 => r1c4<>8 => r1c3=8 => r1c3<>5 => r6c3=5 => r6c4<>5 => [ r5c4=5 => r5c4<>1 => r5c6=1 ] [ r8c4=5 => r8c4<>9 => [ r7c6=9 => r5c6<>9 => r5c6=1 ] [ r8c6=9 => r5c6<>9 => r5c6=1 ] ] ] [ r6c4=3 => r6c4<>5 => [ r5c4=5 => r5c4<>1 => r5c6=1 ] [ r8c4=5 => r8c4<>9 => [ r7c6=9 => r5c6<>9 => r5c6=1 ] [ r8c6=9 => r5c6<>9 => r5c6=1 ] ] ] [ r8c4=3 => r8c4<>9 => [ r7c6=9 => r5c6<>9 => r5c6=1 ] [ r8c6=9 => r5c6<>9 => r5c6=1 ] ] ] [ r6c7=3 => r6c5<>3 => [ r6c5=2 => r4c5<>2 => [ r4c1=2 => r4c1<>5 => [ r6c1=5 => r6c4<>5 => [ r5c4=5 => r5c4<>1 => r5c6=1 ] [ r8c4=5 => r8c4<>9 => [ r7c6=9 => r5c6<>9 => r5c6=1 ] [ r8c6=9 => r5c6<>9 => r5c6=1 ] ] ] [ r6c3=5 => r6c4<>5 => [ r5c4=5 => r5c4<>1 => r5c6=1 ] [ r8c4=5 => r8c4<>9 => [ r7c6=9 => r5c6<>9 => r5c6=1 ] [ r8c6=9 => r5c6<>9 => r5c6=1 ] ] ] ] [ r4c6=2 => r4c6<>6 => r6c4=6 => r6c4<>5 => [ r5c4=5 => r5c4<>1 => r5c6=1 ] [ r8c4=5 => r8c4<>9 => [ r7c6=9 => r5c6<>9 => r5c6=1 ] [ r8c6=9 => r5c6<>9 => r5c6=1 ] ] ] ] [ r6c5=5 => r6c4<>5 => [ r5c4=5 => r5c4<>1 => r5c6=1 ] [ r8c4=5 => r8c4<>9 => [ r7c6=9 => r5c6<>9 => r5c6=1 ] [ r8c6=9 => r5c6<>9 => r5c6=1 ] ] ] ] ]
- Put 1 in r5c6

Found a bifurcating forcing chain:
r4c6=6 => r4c8<>6 => [ r2c8=6 => r2c8<>1 => [ r2c1=1 => r1c2<>1 => r1c2=2 => r7c2<>2 => r7c3=2 => r7c3<>4 ] [ r2c4=1 => r8c4<>1 => [ r8c3=1 => r8c3<>6 => r7c3=6 => r7c3<>4 ] [ r8c5=1 => r8c5<>4 => [ r3c5=4 => r2c6<>4 => r2c3=4 => r7c3<>4 ] [ r7c5=4 => r7c3<>4 ] ] ] ] [ r7c8=6 => r7c7<>6 => [ r7c7=4 => r7c3<>4 ] [ r7c7=5 => r8c7<>5 => [ r8c7=4 => r8c5<>4 => [ r3c5=4 => r2c6<>4 => r2c3=4 => r7c3<>4 ] [ r7c5=4 => r7c3<>4 ] ] [ r8c7=6 => r8c3<>6 => r7c3=6 => r7c3<>4 ] ] ]
r6c4=6 => r6c4<>5 => [ r5c4=5 => r5c4<>9 => [ r4c6=9 => r8c6<>9 => [ r8c6=3 => r8c2<>3 => r7c2=3 => r7c2<>2 => r7c3=2 => r7c3<>4 ] [ r8c6=4 => r2c6<>4 => r2c3=4 => r7c3<>4 ] ] [ r6c4=9 => r6c2<>9 => [ r6c2=1 => r1c2<>1 => r1c2=2 => r7c2<>2 => r7c3=2 => r7c3<>4 ] [ r6c2=2 => r7c2<>2 => r7c3=2 => r7c3<>4 ] ] ] [ r8c4=5 => r8c4<>1 => [ r8c3=1 => r8c3<>6 => r7c3=6 => r7c3<>4 ] [ r8c5=1 => r8c5<>4 => [ r3c5=4 => r2c6<>4 => r2c3=4 => r7c3<>4 ] [ r7c5=4 => r7c3<>4 ] ] ]
- Remove 4 from r7c3

Found a bifurcating forcing chain:
r3c5=4 => r3c5<>1 => [ r7c5=1 => r8c4<>1 => [ r8c3=1 => r8c3<>6 => r7c3=6 => r7c3<>2 => r7c2=2 => r7c2<>3 => r8c2=3 => r8c5<>3 ] [ r8c5=1 => r8c5<>3 ] ] [ r8c5=1 => r8c5<>3 ]
r7c5=4 => r7c5<>5 => [ r8c4=5 => r8c4<>1 => [ r8c3=1 => r8c3<>6 => r7c3=6 => r7c3<>2 => r7c2=2 => r7c2<>3 => r8c2=3 => r8c5<>3 ] [ r8c5=1 => r8c5<>3 ] ] [ r8c5=5 => r8c5<>3 ]
r8c5=4 => r8c5<>3
- Remove 3 from r8c5

Found a bifurcating forcing chain:
r3c2<>4 => [ r7c2=4 => r7c6<>4 => [ r7c6=3 => r4c6<>3 ] [ r7c6=9 => r8c6<>9 => [ r8c2=9 => r8c2<>3 => r7c2=3 => r7c5<>3 => [ r4c5=3 => r4c6<>3 ] [ r6c5=3 => r4c6<>3 ] ] [ r8c4=9 => r5c4<>9 => [ r4c6=9 => r4c6<>3 ] [ r6c4=9 => r6c4<>6 => r4c6=6 => r4c6<>3 ] ] ] ] [ r8c2=4 => r8c2<>3 => r7c2=3 => r7c5<>3 => [ r4c5=3 => r4c6<>3 ] [ r6c5=3 => r4c6<>3 ] ]
r3c5<>4 => r2c6=4 => r7c6<>4 => [ r7c6=3 => r4c6<>3 ] [ r7c6=9 => r8c6<>9 => [ r8c2=9 => r8c2<>3 => r7c2=3 => r7c5<>3 => [ r4c5=3 => r4c6<>3 ] [ r6c5=3 => r4c6<>3 ] ] [ r8c4=9 => r5c4<>9 => [ r4c6=9 => r4c6<>3 ] [ r6c4=9 => r6c4<>6 => r4c6=6 => r4c6<>3 ] ] ]
- Remove 3 from r4c6

Found a bifurcating forcing chain:
r4c8<>5 => r5c8=5 => r5c8<>9 => r5c4=9 => r4c6<>9 => [ r4c6=2 => r1c6<>2 => [ r2c6=2 => r2c6<>6 ] [ r3c5=2 => r3c5<>4 => r2c6=4 => r2c6<>6 ] ] [ r4c6=6 => r2c6<>6 ]
r4c1<>5 => [ r4c1=2 => r2c1<>2 => [ r2c1=1 => r1c2<>1 => r1c2=2 => r1c6<>2 => [ r2c6=2 => r2c6<>6 ] [ r3c5=2 => r3c5<>4 => r2c6=4 => r2c6<>6 ] ] [ r2c1=6 => r2c6<>6 ] ] [ r4c1=9 => r4c6<>9 => [ r4c6=2 => r1c6<>2 => [ r2c6=2 => r2c6<>6 ] [ r3c5=2 => r3c5<>4 => r2c6=4 => r2c6<>6 ] ] [ r4c6=6 => r2c6<>6 ] ]
- Remove 6 from r2c6

Found a bifurcating forcing chain:
r3c2<>4 => [ r7c2=4 => r7c6<>4 => [ r7c6=3 => r7c5<>3 => [ r4c5=3 => r6c4<>3 ] [ r6c5=3 => r6c4<>3 ] ] [ r7c6=9 => r8c6<>9 => [ r8c2=9 => r8c2<>3 => r7c2=3 => r7c5<>3 => [ r4c5=3 => r6c4<>3 ] [ r6c5=3 => r6c4<>3 ] ] [ r8c4=9 => r5c4<>9 => [ r4c6=9 => r4c6<>6 => r6c4=6 => r6c4<>3 ] [ r6c4=9 => r6c4<>3 ] ] ] ] [ r8c2=4 => r8c2<>3 => r7c2=3 => r7c5<>3 => [ r4c5=3 => r6c4<>3 ] [ r6c5=3 => r6c4<>3 ] ]
r3c5<>4 => r2c6=4 => r7c6<>4 => [ r7c6=3 => r7c5<>3 => [ r4c5=3 => r6c4<>3 ] [ r6c5=3 => r6c4<>3 ] ] [ r7c6=9 => r8c6<>9 => [ r8c2=9 => r8c2<>3 => r7c2=3 => r7c5<>3 => [ r4c5=3 => r6c4<>3 ] [ r6c5=3 => r6c4<>3 ] ] [ r8c4=9 => r5c4<>9 => [ r4c6=9 => r4c6<>6 => r6c4=6 => r6c4<>3 ] [ r6c4=9 => r6c4<>3 ] ] ]
- Remove 3 from r6c4

3B5 is included in 3C5, therefore:
- Remove 3 from r7c5

Found a bifurcating forcing chain:
r6c9<>4 => [ r6c9=3 => r6c5<>3 => r4c5=3 => r4c5<>5 ] [ r6c9=6 => r6c4<>6 => [ r6c4=5 => r4c5<>5 ] [ r6c4=9 => r5c4<>9 => r5c4=5 => r4c5<>5 ] ]
r6c7<>4 => [ r6c7=3 => r6c5<>3 => r4c5=3 => r4c5<>5 ] [ r6c7=6 => r6c4<>6 => [ r6c4=5 => r4c5<>5 ] [ r6c4=9 => r5c4<>9 => r5c4=5 => r4c5<>5 ] ]
- Remove 5 from r4c5

Found a bifurcating forcing chain:
r5c8=9 => r5c4<>9 => [ r6c4=9 => r6c2<>9 => [ r6c2=1 => r1c2<>1 => r1c2=2 => r2c3<>2 ] [ r6c2=2 => r7c2<>2 => r7c3=2 => r2c3<>2 ] ] [ r8c4=9 => r8c6<>9 => [ r8c6=3 => r7c6<>3 => r7c2=3 => r7c2<>2 => r7c3=2 => r2c3<>2 ] [ r8c6=4 => r2c6<>4 => r2c3=4 => r2c3<>2 ] ]
r5c8=5 => r4c8<>5 => r4c1=5 => r1c1<>5 => [ r1c1=1 => r1c2<>1 => r1c2=2 => r2c3<>2 ] [ r1c1=2 => r2c3<>2 ] [ r1c1=6 => r2c1<>6 => [ r2c1=1 => r1c2<>1 => r1c2=2 => r2c3<>2 ] [ r2c1=2 => r2c3<>2 ] ]
- Remove 2 from r2c3

Found a bifurcating forcing chain:
r6c9=4 => r9c9<>4 => [ r9c3=4 => r2c3<>4 => r2c3=8 => r2c7<>8 => r3c7=8 => r3c7<>6 ] [ r9c7=4 => r9c7<>7 => r5c7=7 => r5c7<>2 => [ r2c7=2 => r2c7<>8 => r3c7=8 => r3c7<>6 ] [ r3c7=2 => r3c7<>6 ] ]
r6c7=4 => r6c7<>3 => [ r2c7=3 => r2c7<>8 => r3c7=8 => r3c7<>6 ] [ r9c7=3 => r9c7<>7 => r5c7=7 => r5c7<>2 => [ r2c7=2 => r2c7<>8 => r3c7=8 => r3c7<>6 ] [ r3c7=2 => r3c7<>6 ] ]
- Remove 6 from r3c7

Found Turbot Fish in the 6's in r3c4 r3c9 r4c9 r4c6 r1c6
2 strong sides: 6R3 6C6, therefore:
- Remove 6 from r4c9

Found a forcing chain:
r5c8=5 => r5c4<>5 => r5c4=9 => r4c6<>9
r4c8=5 => r4c8<>6 => r4c6=6 => r4c6<>9
- Remove 9 from r4c6

9B5 is included in 9C4, therefore:
- Remove 9 from r8c4

Found a forcing chain:
r4c9<>9 => r4c9=3 => r4c5<>3 => r4c5=2 => r4c1<>2
r5c8<>9 => r5c8=5 => r4c8<>5 => r4c1=5 => r4c1<>2
- Remove 2 from r4c1

2B4 is included in 2R6, therefore:
- Remove 2 from r6c5

Found a forcing chain:
r9c3=1 => r9c1<>1 => r9c1=9 => r8c2<>9 => r8c6=9 => r8c6<>4
r9c3=4 => r2c3<>4 => r2c6=4 => r8c6<>4
r9c3=9 => r8c2<>9 => r8c6=9 => r8c6<>4
- Remove 4 from r8c6

Found a forcing chain:
r1c4=3 => r1c4<>8 => r1c3=8 => r1c3<>5 => r6c3=5 => r6c5<>5 => r6c5=3 => r6c9<>3
r1c6=3 => r1c6<>6 => r4c6=6 => r4c6<>2 => r4c5=2 => r4c5<>3 => r6c5=3 => r6c9<>3
r1c9=3 => r6c9<>3
- Remove 3 from r6c9

Found a forcing chain:
r7c6=3 => r7c6<>4 => r2c6=4 => r2c3<>4 => r2c3=8 => r1c3<>8 => r1c4=8 => r1c4<>3
r8c4=3 => r1c4<>3
r8c6=3 => r8c6<>9 => r7c6=9 => r7c6<>4 => r2c6=4 => r2c3<>4 => r2c3=8 => r1c3<>8 => r1c4=8 => r1c4<>3
- Remove 3 from r1c4

Found a forcing chain:
r7c2=9 => r7c2<>3 => r7c6=3 => r1c6<>3 => r1c9=3 => r4c9<>3 => r4c9=9 => r9c9<>9
r7c6=9 => r8c6<>9 => r8c6=3 => r1c6<>3 => r1c9=3 => r4c9<>3 => r4c9=9 => r9c9<>9
r7c8=9 => r9c9<>9
r7c9=9 => r9c9<>9
- Remove 9 from r9c9

Found a bifurcating forcing chain:
r7c8=1 => r7c8<>6 => [ r2c8=6 => r2c1<>6 => r1c1=6 => r1c1<>5 => r1c3=5 ] [ r4c8=6 => r4c8<>5 => r4c1=5 => r1c1<>5 => r1c3=5 ]
r7c9=1 => r7c9<>9 => r4c9=9 => r4c1<>9 => r4c1=5 => r6c3<>5 => r1c3=5
r9c8=1 => r9c1<>1 => r9c1=9 => r4c1<>9 => r4c1=5 => r6c3<>5 => r1c3=5
r9c9=1 => r9c1<>1 => r9c1=9 => r4c1<>9 => r4c1=5 => r6c3<>5 => r1c3=5
- Put 5 in r1c3

Put 8 in r1c4

r1c1, r1c2 and r2c1 are a triplet (323), simplify 1B1, 2B1 and 6B1 [naked triplet]
- Remove 1 from r3c2
- Remove 1 from r3c3
- Remove 2 from r3c2

Found a forcing chain:
r7c6=3 => r8c4<>3 => r2c4=3 => r2c7<>3
r7c6=4 => r2c6<>4 => r2c3=4 => r2c3<>8 => r2c7=8 => r2c7<>3
r7c6=9 => r8c6<>9 => r8c6=3 => r8c4<>3 => r2c4=3 => r2c7<>3
- Remove 3 from r2c7

r2c7 and r3c7 are a pair, simplify 2C7 and 8C7 [naked pair]
- Remove 2 from r5c7

Put 2 in r5c9
Put 7 in r5c7
Put 7 in r9c9

r3c4 and r3c9 are a pair, simplify 1R3 and 6R3 [naked pair]
- Remove 1 from r3c5

1B2 is included in 1C4, therefore:
- Remove 1 from r8c4

Found a forcing chain:
r3c5<>2 => r3c5=4 => r2c6<>4 => r2c3=4 => r9c3<>4 => r9c7=4
r4c5<>2 => r4c5=3 => r6c5<>3 => r6c7=3 => r9c7<>3 => r9c7=4
- Put 4 in r9c7

Put 4 in r6c9
Put 3 in r9c8
Put 3 in r1c9
Put 3 in r6c7
Put 3 in r4c5
Put 2 in r4c6
Put 6 in r6c4
Put 6 in r4c8
Put 6 in r3c9
Put 6 in r1c6
Put 6 in r2c1
Put 2 in r3c5
Put 2 in r2c7
Put 8 in r3c7
Put 8 in r2c3
Put 4 in r2c6
Put 3 in r2c4
Put 1 in r3c4
Put 1 in r2c8
Put 1 in r7c9
Put 1 in r8c5
Put 4 in r7c5
Put 5 in r5c8
Put 9 in r5c4
Put 5 in r6c5
Put 5 in r4c1
Put 9 in r4c9
Put 5 in r8c4
Put 5 in r7c7
Put 6 in r8c7
Put 6 in r7c3
Put 2 in r7c2
Put 2 in r1c1
Put 2 in r6c3
Put 1 in r1c2
Put 1 in r6c1
Put 1 in r9c3
Put 9 in r6c2
Put 9 in r9c1
Put 9 in r3c3
Put 4 in r3c2
Put 4 in r8c3
Put 3 in r8c2
Put 3 in r7c6
Put 9 in r8c6
Put 9 in r7c8

difficulty 07037 [bifurcating forcing chain] (chain score 2206)

2 1 5 8 7 6 9 4 3
6 7 8 3 9 4 2 1 5
3 4 9 1 2 5 8 7 6
5 8 7 4 3 2 1 6 9
4 6 3 9 8 1 7 5 2
1 9 2 6 5 7 3 8 4
8 2 6 7 4 3 5 9 1
7 3 4 5 1 9 6 2 8
9 5 1 2 6 8 4 3 7
Nick70
 
Posts: 156
Joined: 16 June 2005

Postby MadOverlord » Tue Oct 18, 2005 8:08 pm

I think what I was getting at (sorry if it wasn't clear) was that since all the crucial verities depend on the R1=1 squares, perhaps there is a visual pattern, or something analogous to Nishio, that will permit progress, and that the R1=1 insight might help someone "see" something interesting.
MadOverlord
 
Posts: 81
Joined: 10 June 2005

Postby DanO » Wed Oct 19, 2005 9:06 am

I enumerated all the permitted permutations of the first two rows and found that the permitted values [1 2] dropped out of both R1C1 and R1C3. There may be a new undiscovered simple rule that is obscured by the clutter.

This deserves further investigation. The first step would be to use a program to repeat the enumeration since I did this by hand and and very easily could have made a mistake
DanO
 
Posts: 40
Joined: 18 October 2005

Postby r.e.s. » Wed Oct 19, 2005 8:56 pm

DanO wrote:I enumerated all the permitted permutations of the first two rows and found that the permitted values [1 2] dropped out of both R1C1 and R1C3. [...] I did this by hand and and very easily could have made a mistake

You've made a mistake, since solvers show the unique solution to have r1c1=2.
r.e.s.
 
Posts: 337
Joined: 31 August 2005

Postby Lummox JR » Wed Oct 19, 2005 9:15 pm

I was just testing out your results and it occurred to me that you can't drop 2 out of (1,1) because it's part of the solution. Something in your test must have gone wrong.

[edit]
I tested out the technique with R1 and R2 myself, and found no configurations I could eliminate.
Lummox JR
 
Posts: 125
Joined: 22 September 2005

Postby DanO » Thu Oct 20, 2005 2:17 am

Ohh, I see what happened. I was using Sudoku Susser to test the result and after removing the [12] from R1C1 and R1C2, I tried Deduce withe the simple rules to see if progress could be made. Then I used Recurse to see if a solution could still be found. Of course it found the original solution because I didn't set any new values.

It would be nice if the solver would verify that the possibilities included the solution at the time recurse is used.


Back to the enumeration technique itself; An automated tool to do brute force enumeration can tell you if there is sufficient information in a subset of cells to make progress towards a solution. The enumeration could be used in a search to isolate the required cells and thus help unmask the rule.
DanO
 
Posts: 40
Joined: 18 October 2005

Postby MadOverlord » Thu Oct 20, 2005 11:23 am

DanO wrote:Ohh, I see what happened. I was using Sudoku Susser to test the result and after removing the [12] from R1C1 and R1C2, I tried Deduce withe the simple rules to see if progress could be made. Then I used Recurse to see if a solution could still be found. Of course it found the original solution because I didn't set any new values.

It would be nice if the solver would verify that the possibilities included the solution at the time recurse is used.


I don't know what version of the Susser you're running, but the last few (current is 2.0.3) tell you if the puzzle is invalid (0 or multi-solutions) when you deduce or recurse.

Is there some aspect of this that I'm missing. I tried several variants of your reductions and the app behaved appropriately AFAICT.
MadOverlord
 
Posts: 81
Joined: 10 June 2005

Postby stuartn » Thu Oct 20, 2005 2:56 pm

It may look tres tres complicated with all those chains and thingies - but just pop a 6 in R1C6 and an 8 in R2C3 and it all falls apart without any arial or aquatic tactics.

But what forces the 6 and 8?

stuartn:?::D
stuartn
 
Posts: 211
Joined: 18 June 2005

Postby stuartn » Thu Oct 20, 2005 3:02 pm

And here's the print.

Code: Select all

CELL    OLD VALUE   NEW    PROCEDURE
R1C6   12368   6   MANUAL
R1C1   1256   125   Routine
R1C3   12568   1258   Routine
R1C4   1368   138   Routine
R1C9   1236   123   Routine
R2C6   123468   12348   Routine
R4C6   23689   2389   Routine
R2C4   1368   138   Routine
R3C4   168   18   Routine
R4C5   2358   235   Row in Block
R4C6   2389   239   Row in Block
R6C4   13569   3569   Row in Block
R6C5   1235   235   Row in Block
R6C7   23456   2345   Row in Block
R6C9   23469   2349   Row in Block
R7C7   34567   3456   Row in Block
R7C9   134679   13469   Row in Block
R1C2   128   12   Column in Block
R2C2   12478   1247   Column in Block
R2C3   12468   1248   Column in Block
R3C2   12489   1249   Column in Block
R3C3   124689   12489   Column in Block
R2C1   126   6   Unique in Block
R2C2   1247   7   Unique in Block
R4C2   289   8   Unique in Block
R6C4   3569   6   Unique in Block
R7C4   13579   7   Unique in Block
R9C6   13489   8   Unique in Block
R5C4   1589   59   Hidden pair in Column
R8C4   1359   59   Hidden pair in Column
R2C6   12348   24   Hidden pair in Blocks
R3C5   1248   24   Hidden pair in Blocks
R5C5   1258   18   Hidden pair in Blocks
R5C6   1289   18   Hidden pair in Blocks
R2C7   2368   238   Hidden pent in Row
R2C8   136   13   Hidden pent in Row
R5C7   257   27   Naked pairs in Rows
R5C9   279   27   Naked pairs in Rows
R5C6   18   1   Routine FOUND
R5C5   18   8   Routine FOUND
R4C9   2369   369   Row in Block
R6C7   2345   345   Row in Block
R6C9   2349   349   Row in Block
R7C7   3456   456   Row in Block
R7C8   13569   1569   Row in Block
R7C9   13469   1469   Row in Block
R8C7   3456   456   Row in Block
R7C6   1349   349   Column in Block
R8C6   1349   349   Column in Block
R2C3   1248   8   MANUAL
R2C4   138   13   Routine
R2C7   238   23   Routine
R1C3   1258   125   Routine
R3C3   12489   1249   Routine
R3C4   18   1   Row in Block
R3C5   24   2   Row in Block
R7C6   349   39   Column in Block
R8C6   349   39   Column in Block
R1C4   138   8   Unique in Block
R2C6   24   4   Unique in Block
R3C7   268   8   Unique in Block
R1C9   123   3   Unique in Row
R2C7   23   2   Unique in Row
R3C9   126   6   Unique in Row
R2C4   13   3   Unique in Column
R4C6   239   2   Unique in Column
R5C9   27   2   Unique in Column
R3C2   1249   49   Hidden pair in Row
R3C3   1249   49   Hidden pair in Row
R7C5   1345   14   Hidden pair in Column
R8C5   1345   14   Hidden pair in Column
R4C1   259   59   Hidden quad in Row
R4C5   235   35   Hidden quad in Row
R2C8   13   1   Routine FOUND
R5C7   27   7   Routine FOUND
R4C9   369   9   Routine FOUND
R6C5   235   35   Routine FOUND
R6C9   349   49   Routine FOUND
R7C8   1569   569   Routine FOUND
R7C9   1469   149   Routine FOUND
R9C7   347   34   Routine FOUND
R9C8   139   39   Routine FOUND
R9C9   13479   1479   Routine FOUND
R4C8   3569   356   Routine
R5C8   59   5   Routine FOUND
R6C9   49   4   Routine FOUND
R4C1   59   5   Row in Block
R8C7   456   46   Row in Block
R5C4   59   9   Column in Block
R7C8   569   59   Column in Block
R7C9   149   14   Column in Block
R8C4   59   5   Column in Block
R9C9   1479   147   Column in Block
R4C8   356   6   Unique in Block
R9C9   147   7   Unique in Block
R4C5   35   3   Unique in Row
R6C5   35   5   Unique in Column
R7C9   14   1   Unique in Column
R9C8   39   3   Unique in Column
R9C3   149   19   Hidden pair in Row
R6C7   345   35   Unique to column in block
R6C1   1259   129   Hidden quad in Row
R6C3   1259   129   Hidden quad in Row
R1C1   125   12   Hidden triple in Column
R9C7   34   4   Hidden triple in Row
R1C3   125   5   Naked pairs in Rows
R6C7   35   3   Routine FOUND
R7C2   12349   2349   Routine FOUND
R7C3   12469   2469   Routine FOUND
R7C5   14   4   Routine FOUND
R7C7   456   56   Routine
R7C8   59   9   Routine FOUND
R8C5   14   1   Routine FOUND
R8C7   46   6   Routine FOUND
R7C7   56   5   Routine FOUND
R7C2   2349   23   Row in Block
R7C3   2469   26   Row in Block
R8C2   1349   34   Row in Block
R8C3   1469   4   Row in Block
R7C3   26   6   Unique in Block
R7C2   23   2   Unique in Row
R8C6   39   9   Unique in Row
R6C3   129   2   Unique in Column
R7C6   39   3   Unique in Column
R8C2   34   3   Unique in Column
R6C1   129   19   Hidden pair in Row
R6C2   129   19   Hidden pair in Row
R1C1   12   2   Naked Pairs in Columns
R1C2   12   1   Routine FOUND
R3C3   49   9   Routine FOUND
R6C2   19   9   Routine FOUND
R3C2   49   4   Routine FOUND
R6C1   19   1   Routine FOUND
R9C1   19   9   Column in Block
R9C3   19   1   Column in Block

stuartn
stuartn
 
Posts: 211
Joined: 18 June 2005

Postby DanO » Thu Oct 20, 2005 5:06 pm

MadOverlord wrote:
DanO wrote:It would be nice if the solver would verify that the possibilities included the solution at the time recurse is used.


I don't know what version of the Susser you're running, but the last few (current is 2.0.3) tell you if the puzzle is invalid (0 or multi-solutions) when you deduce or recurse.

Is there some aspect of this that I'm missing. I tried several variants of your reductions and the app behaved appropriately AFAICT.


I'm using version 2.0.3.
Follow these steps:
- clear the messages
- Load the "Toughest Known Puzzle"
- Select all the simple Deduction heuristics
- click Deduce
- click Deduce again - This shows a normal message that no progress can be made.
- Check puzzle validity
- remove possibility 1 from R1C1
- click Deduce - same message as before
- remove possibility 2 from R1C1
- click Deduce - same message as before
- Check puzzle validity - similar message as before only now it says possibilities could be added to R1C1. This is a normal message and doesn't indicate a problem and of course, I know I just removed possibilities from R1C1 so I expect this.
- click Recurse - no red X's so no problem so far
- Undo

Now look at the messages for where it says the puzzle is invalid.
DanO
 
Posts: 40
Joined: 18 October 2005

Next

Return to Advanced solving techniques