YAK 94

Our weekly <a href="http://www.sudocue.net/weeklykiller.php">Killer Sudokus</a> should not be taken too lightly. Don't turn your back on them.
Post Reply
Jean-Christophe
Addict
Addict
Posts: 92
Joined: Mon Apr 23, 2007 12:50 pm
Location: Belgium

YAK 94

Post by Jean-Christophe »

Yet Another Killer #94

Image

3x3::k:4609:4098:4098:5891:5891:5380:5380:3845:3845:4609:4098:5891:5891:5380:5380:3845:3845:5126:4609:3335:2056:2569:2569:5642:1803:1803:5126:4609:3335:2056:2569:2572:5642:5642:8205:5126:4622:4622:4622:4622:2572:8205:8205:8205:8205:4623:4622:3088:3088:2572:4369:1042:3091:3604:4623:3349:3349:3088:4369:4369:1042:3091:3604:4623:4886:4886:5911:5911:5656:5656:4633:3604:4886:4886:5911:5911:5656:5656:4633:4633:3604:
Afmob
Expert
Expert
Posts: 103
Joined: Sat Sep 22, 2007 5:36 pm
Location: MV, Germany

Post by Afmob »

I thought this one was a monster since SS rated it 2.02 and JSudoku used XY-Chains and Turbot Fishes to crack it. But I managed to crack it in a fairly early state. So apart from the two moves (step 5a, 5e) there is nothing complicated about this and even those moves are easy to see I think.

Though I must say that it was stubborn in the endgame.

YAK 94 Walkthrough:

1. R6789
a) Innies R89 = 8(2+1) <> 7,8,9; R8C1 <> 6
b) 18(3) @ C1: R67C1 <> 1,2,3 because R8C1 <= 5
c) 4(2) = {13} locked for C7
d) 1 locked in R6C79 for R6
e) Innies = 8(2) = {26/35}
f) Innies+Outies N7: 5 = R6C1 - R9C3 -> R6C1 <> 4,5; R9C3 = (1234)

2. R1234
a) 7(2): R3C8 <> 4,6
b) Innies = 7(2) <> 7,8,9; R4C5 <> 6
c) Innies N3 = 23(3) = {689} locked for N3
d) 7(2) <> 1
e) 20(3) = 9{38/56} because R23C9 = (689) -> R4C9 = (35), 9 locked for C9+N3

3. C6789
a) Innies C9 = 11(2) <> 1,2; R5C9 <> 3,5
b) Outies = 24(3) = {789} locked for C5
c) 15(4) = 17{25/34} -> 1 locked for C8
d) 21(4) must have two of (12345) and they are only possible @ R12C6 -> R12C6 <> 6,7,8,9

4. C1234
a) Innies C1 = 9(2) <> 9
b) 23(4) @ N7: R89C4 <> 1,2,3 because R8C5+R9C3 <= 10

5. C456 !
a) Killer triple (789) locked in R79C5 + 23(4) for N8
-> 23(4) @ N8 can only have one of (789)
b) 23(4) @ N8 = 56{39/48} -> 5,6 locked for N8; R89C4+R8C5 <> 3,4
c) 7 locked in R79C5 for C5
d) Killer pair (56) locked in 10(3) @ R4C5 + R8C5 for C5
e) ! Killer quad (1234) locked in 21(4) + R789C6 for C6
-> 21(4) can only have one of (1234)
f) 21(4) = 56{19/28} -> R1C7 = 6; 5 locked for C6+N2

6. R1234
a) 20(3) = {389} -> R4C9 = 3; 8 locked for C9
b) Naked pair (89) locked in R2C59 for R2
c) 23(4) must have 8,9 and it's only possible @ R1C4 -> R1C4 = (89)
d) Naked pair (89) locked in R1C4+R2C5 for N2
e) 22(3) = {679} because R3C6 = (67) -> 9 locked for R4, 6 locked for C6
f) 13(2): R3C2 <> 4
g) 8(2): R3C3 <> 5

7. C456
a) 17(3) = 7{19/28}
b) Killer pair (12) locked in 21(4) + R7C6 for C6
c) 22(4) = {3478} because R89C6 = {34}
-> R8C7+R9C5 = {78}, {34} locked for N8

8. N69
a) R6C7 = 1, R7C7 = 3
b) 12(2) = {48/57}
c) 9 locked in 18(3) = 9{27/45}
d) 6 locked in 14(4) @ N9 = {1256} locked for C9; R6C9 <> 6
e) 32(5) must have 4 xor 7 and R5C9 = (47) -> R4C8+R5C678 <> 4,7

9. R6789
a) Naked pair (12) locked in R7C46 for R7
b) Naked pair (34) locked in R9C36 for R9
c) Killer pair (25) locked in Innies + R6C9 for R6
d) 12(2): R7C8 <> 7
e) 4 locked in R78C8 for C8

10. N69
a) Hidden Single: R5C9 = 4 @ N6
b) 32(5) = {45689} -> 5 locked for N6
c) 12(2): R7C8 <> 8
d) Hidden Single: R8C7 = 8 @ N9
e) 14(4) = {1256} -> R6C9 = 2; 5 locked for N9
f) R9C5 = 7, Hidden Single: R8C8 = 7 @ N9
g) R6C8 = 8, R7C8 = 4

11. R456
a) Hidden Single: R4C7 = 7 @ N6 -> R3C6 = 6, R4C6 = 9
b) R6C6 = 7
c) 12(3) = 2{19/46} -> R7C4 = 2
d) 12(3) = {246} -> 6 locked for R6
e) R6C1 = 9 -> 18(3) = 9[54/63/72/81]

12. N7+C456
a) Innies+Outies: 5 = R6C1 - R9C3 -> R9C3 = 4
b) 19(4) = 3{169/259/268} -> 3 locked for R8
c) R7C6 = 1 -> R7C5 = 9
d) 21(4) = {2568} -> R2C5 = 8; 2 locked for N2
e) 10(3) @ N2 = 1{36/45} -> R4C4 = (56), 1 locked for R3+N2
f) R1C4 = 9

13. R123
a) Hidden Single: R3C2 = 9 @ N1 -> R4C2 = 4
b) R6C3 = 6, R1C9 = 7
c) 23(4) = {3479} -> 7 locked for R2, 4 locked for N2
d) 10(3) = {136} -> R4C4 = 6; 3 locked for R3+N2
e) 23(4) = {3479} -> R2C3 = 3, R2C4 = 7, R1C5 = 4
f) 16(3) = {268} -> R2C2 = 6; {28} locked for R1+N1
g) 7(2) = {25} locked for R3+N3

14. Rest is singles.

Rating: 1.25. I used one Killer triple and one Killer quad to crack it.
Last edited by Afmob on Wed Mar 19, 2008 5:52 am, edited 1 time in total.
mhparker
Grandmaster
Grandmaster
Posts: 345
Joined: Sat Jan 20, 2007 10:47 pm
Location: Germany

Post by mhparker »

Jean-Christophe wrote:Yet Another Killer...
Thanks for keeping me busy, J-C! :roll:
Afmob wrote:Rating: 1.25.
I agree, although probably a high 1.25.
Afmob wrote:Though I must say that it was stubborn in the endgame.
Unfortunately, my WT is too similar to Afmob's to be worth publishing. However, my endgame was different, starting from a position very similar to the grid state after Afmob's step 8b (shown below):

Grid state after Afmob's step 8b

Code: Select all

.-----------.-----------------------.-----------------------.-----------------------.-----------------------.
| 12345789  | 12345789    12345789  | 89          1234      | 125         6         | 123457      457       |
|           |           .-----------'           .-----------'           .-----------'           .-----------&#58;
| 1234567   | 1234567   | 1234567     123467    | 89          125       | 2457        123457    | 89        |
|           &#58;-----------+-----------.-----------'-----------.-----------+-----------------------&#58;           |
| 123456789 | 56789     | 12367     | 123467      1234      | 67        | 245         235       | 89        |
|           |           |           |           .-----------&#58;           '-----------.-----------&#58;           |
| 1245678   | 45678     | 12567     | 124567    | 1245      | 679         79        | 2456      | 3         |
&#58;-----------'-----------'-----------'-----------&#58;           &#58;-----------------------'           '-----------&#58;
| 12345678    12345678    12345678    12345678  | 123456    | 789         245789      2456789     467       |
&#58;-----------.           .-----------------------&#58;           &#58;-----------.-----------.-----------.-----------&#58;
| 6789      | 2356      | 23456789    23456789  | 2356      | 789       | 1         | 4578      | 24567     |
|           &#58;-----------'-----------.           &#58;-----------'           |           |           |           |
| 456789    | 456789      456789    | 12        | 789         12        | 3         | 4578      | 124567    |
|           &#58;-----------------------+-----------'-----------.-----------'-----------+-----------&#58;           |
| 12345     | 123456789   123456789 | 5689        56        | 34          78        | 2456789   | 12456     |
&#58;-----------'           .-----------'           .-----------'           .-----------'           |           |
| 2345678     123456789 | 34          5689      | 78          34        | 245789      2456789   | 12456     |
'-----------------------'-----------------------'-----------------------'-----------------------'-----------'
From here, I took the following route:
triple-click to see what I wrote:9. I/O diff. N2: R2C3 + R4C4 = R3C6 + 3
9a. min. R3C6 = 6 -> min. R2C3 + R4C4 = 9
9b. -> no 1 in R4C4

10. 10(3) at R3C4 = {127/136/145}
(Note: {235} blocked by R3C78)
10b. 1 locked in R3C45 for R3 and N2
10c. cleanup: no 7 in R4C3

11. Naked pair (NP) at R12C6 = {25}, locked for C6 and N2
11a. -> R7C46 = [21]; R2C5 = 8 (cage split)
11b. -> R23C9 = [98]
...
Afmob wrote:SS rated it 2.02 and JSudoku used XY-Chains and Turbot Fishes to crack it.
Indeed. A bit like using an atom bomb to kill a canary, you might say! (Or, as we say in Germany, "using a cannon to shoot at sparrows"...)

It will be interesting to see why these two fine programs made such heavy going of it. Would maybe make a good post when someone (possibly me) finds out.
Last edited by mhparker on Wed Mar 19, 2008 9:42 pm, edited 1 time in total.
Cheers,
Mike
Jean-Christophe
Addict
Addict
Posts: 92
Joined: Mon Apr 23, 2007 12:50 pm
Location: Belgium

Post by Jean-Christophe »

Well done guys.
Indeed, its not as hard as the programs think it is !

At that stage, it's probably easier to:
In/outies n7 -> r6c1 = {89}
cages -> r4c3..9 <> 8
-> 8 @ r4 locked for n4
-> r6c1 = 9, r9c3 = 4
23/4 @ r89 = {4568} (NT {568} @ n8)
...
Last edited by Jean-Christophe on Wed Mar 26, 2008 1:50 pm, edited 1 time in total.
mhparker
Grandmaster
Grandmaster
Posts: 345
Joined: Sat Jan 20, 2007 10:47 pm
Location: Germany

Post by mhparker »

Jean-Christophe wrote:At that stage, it's probably easier to:
Indeed it is! The moral of this story is not to try to fit my moves into the context of other people's walkthroughs. In my case, there were namely several other 8s still available in R4 at this stage:
Optimized YAK94 Walkthrough

Prelims:

a) 20(3) at R2C9 = {389/479/569/578} (no 1,2)
b) 13(2) at R3C2 and R7C2 = {49/58/67} (no 1..3)
c) 8(2) at R3C3 = {17/26/35} (no 4,8,9)
d) 10(3) at R3C4 and R4C5 = {127/136/145/235} (no 8,9)
e) 22(3) at R3C6 = {589/679} (no 1..4)
f) 7(2) at R3C7 = {16/25/34} (no 7..9)
g) 32(5) at R4C8 = {26789/35789/45689} (no 1)
h) 18(5) at R5C1 = {12348/12357/12456} (no 9)
i) 4(2) at R6C7 = {13}, locked for C7; cleanup: no 4,6 in R3C8 (prelim f)
j) 12(2) at R6C8 = {39/48/57} (no 1,2,6)
k) 14(4) at R6C9 = {1238/1247/1256/1346/2345} (no 9)

1. Innies N3: R1C7 + R23C9 = 23(3) = {689}, locked for N3
1a. cleanup: no 1 in R3C8

2. 20(3) at R2C9 = {69}[5]/{89}[3]
2a. -> R4C9 = {35} (no 4,6..9)
2b. 9 locked in R23C9 for C9 and N3

3. Outies C6789: R279C5 = 24(3) = {789}, locked for C5

4. Innie/Outie (I/O) diff. N7: R6C1 = R9C3 + 5
4a. -> no 1..5 in R6C1; no 5..9 in R9C3

5. 23(4) at R8C4 = {3569/4568} (no 1,2,7)
(Note: {1589/1679/2489/2579/2678/3479/3578} all blocked by R79C5)
5a. only 1 of {34}, which must go in R9C3
5b. -> no 3,4 in R8C45+R9C4
5c. {56} locked in R8C45+R9C4 for N8
5d. cleanup: no 6,7 in R6C1 (step 4)

6. 23(4) at R8C4 (step 5) and R79C5 form killer triple on {789} within N8
6a. -> no 7..9 elsewhere in N8
6b. 7 in N8 locked in R79C5 for C5

7. 21(4) at R1C6 = {1569/2568} (no 3,4,7)
(Note: {1479/2379/3459} blocked because none of these digits in R1C7;
{3567} blocked because none of these digits in R2C5;
{1389/2469/2478/3468} blocked by R789C6; {1578} unplaceable)
7a. can only have 1 of {89}, which must go in R2C5
7b. -> no 8,9 in R1C67+R2C6
7c. -> R1C7 = 6
7d. 5 locked in R12C6 for C6 and N2

8. R12C6 and R789C6 form killer quad on {1234} within C6
8a. -> no 1..4 elsewhere in C6
8b. {34} in C6 locked in N8 -> not elsewhere in N8

9. R4C9 = 3 (outie N3, or 20(3) cage split)
9a. -> R67C7 = [13]
9b. cleanup: no 5 in R3C3; no 9 in R67C8

10. Naked pair (NP) at R2C59 = {89}, locked for R2

11. I/O diff. N2: R2C3 + R4C4 = R3C6 + 3
11a. min. R3C6 = 6 -> min. R2C3 + R4C4 = 9
11b. -> no 1 in R4C4

12. 10(3) at R3C4 = {127/136/145}
(Note: {235} blocked by R3C78)
12b. 1 locked in R3C45 for R3 and N2
12c. cleanup: no 7 in R4C3

13. Naked pair (NP) at R12C6 = {25}, locked for C6 and N2
13a. -> R2C5 = 8 (cage split)

14. R23C9 = [98]
14a. cleanup: no 5 in R4C2

15. Hidden single (HS) in N8 at R7C4 = 2

16. 2 in C5 locked in 10(3) at R4C5 = {235} (no 1,4,6) (last combo), locked for C5 and N5

17. R138C5 = [416]
17a. -> split 9(2) at R34C4 = [36] (last permutation)
17b. cleanup: no 7 in R3C2; no 2 in R3C3; no 4 in R3C7; no 5 in R4C3

Rest is really just a mop-up now.
Last edited by mhparker on Sat Mar 22, 2008 5:32 pm, edited 1 time in total.
Cheers,
Mike
Andrew
Grandmaster
Grandmaster
Posts: 300
Joined: Fri Aug 11, 2006 4:48 am
Location: Lethbridge, Alberta

Post by Andrew »

Thanks Jean-Christophe. A fun puzzle! :D

Although I used the same key moves as the others, I missed one early move - Afmob's step 2c, step 1 in Mike's optimised walkthrough - only seeing my step 8 instead. That led to some significant differences in my solving path including a couple of fun steps later.

Missing that early step didn't seem to make the solution path any harder so I'll also rate this puzzle 1.25.

Here is my walkthrough. Thanks Afmob for pointing out that my original step 19 was flawed. I've deleted it, renumbered the next 4 steps and inserted a new step 23; step 21 has been edited for clarity and step 22 is now shorter. There is also simplification of the mop-up stage. I've inserted a clean-up in step 28 that I'd originally omitted. That removed the last 5 steps! :D

Prelims

a) R34C2 = {49/58/67}, no 1,2,3
b) R34C3 = {17/26/35}, no 4,8,9
c) R3C78 = {16/25/34}, no 7,8,9
d) R67C7 = {13}, locked for C7, clean-up: no 4,6 in R3C8
e) R67C8 = {39/48/57}, no 1,2,6
f) R7C23 = {49/58/67}, no 1,2,3
g) R234C9 = {389/479/569/578}, no 1,2
h) 10(3) cage at R3C4 = {127/136/145/235}, no 8,9
i) 22(3) cage at R3C6 = {589/679}
j) R456C5 = {127/136/145/235}, no 8,9
k) R6789C9 = {1238/1247/1256/1346/2345}, no 9
l) 18(5) cage at R5C1 = {12348/12357/12456}, no 9
m) 32(5) cage at R4C8 = {26789/35789/45689}, no 1

1. 45 rule on C1 2 innies R59C1 = 9 = {18/27/36/45}, no 9 in R9C1

2. 45 rule on C9 2 innies R15C9 = 11 = {29/38/47/56}, no 1 in R1C9
2a. 1 in N3 locked in R123C8, locked for C8
2b. 1 in N6 locked in R6C79, locked for R6

3. 45 rule on R1234 2 innies R4C58 = 7 = [16/25/34/43/52], no 7,8,9, no 6 in R4C5

4. 32(5) cage at R4C8 = {26789/35789/45689}, 8 locked in R5C6789 for R5

5. 45 rule on R6789 2 innies R6C25 = 8 = {26/35}

6. 18(5) cage at R5C1 = {12357/12456}, 1 locked in R5C1234 for R5

7. R456C5 = {127/136/145/235}
7a. 1 of {145} must be in R4C5 -> no 4 in R4C5, clean-up: no 3 in R4C8 (step 3)

8. 45 rule on N3 1 innie R1C7 = 1 outie R4C9 + 3, R1C7 = {6789}, R4C9 = {3456}
8a. R234C9 = {389/479/569/578}
8b. 3,4 of {389/479} must be in R4C9 -> no 3,4 in R23C9

9. 45 rule on N7 1 outies R6C1 = 1 innie R9C3 + 5, R6C1 = {6789}, R9C3 = {1234}

10. 45 rule on R89 3 innies R8C19 + R9C9 = 8, no 6,7,8,9 in R8C1, no 7,8 in R89C9

11. 45 rule on C6789 3 outies R279C5 = 24 = {789}, locked for C5

12. 21(4) cage at R1C6 = {1389/1479/1569/1578/2379/2469/2478/2568/3459/3468/3567}, R1C7 + R2C5 = {6789} -> no 6,7,8,9 in R12C6

13. 23(4) cage at R8C4 = {3569/4568} (cannot be {1589/1679/2489/2579/2678/3479/3578} which clash with R79C5), no 1,2,7, 5,6 locked for N8, clean-up: no 6,7 in R6C1 (step 9)
13a. R9C3 = {34} -> no 3,4 in R8C45 + R9C4

14. Killer triple 7,8,9 in R79C5 + R89C4, locked for N8
14a. 7 in N8 locked in R79C5, locked for C5

15. Naked quint {12345} in R12789C6, locked for C6
15a. 22(3) cage at R3C6 = {589/679}
15b. 5 of {589} must be in R4C7 -> no 8 in R4C7

16. 5 in C6 locked in R12C6, locked for N2
16a. 21(4) cage at R1C6 (step 12) = {1569/1578/2568} (cannot be {3459} because 3,4,5 only in R12C6, cannot be {3567} because R2C5 only contains 8,9), no 3,4
16b. R2C5 = {89} -> no 8,9 in R1C7, clean-up: no 5,6 in R4C9 (step 8)

17. 3,4 in C6 locked in R789C6, locked for N8

18. R1C7 + R4C9 (step8) = [63/74]
18a. R234C9 (step 8a) = {389} (cannot be {479} which clashes with R1C7 + R4C9, cannot be {569/578} because R4C9 only contains 3,4) -> R4C9 = 3, R1C7 = 6 (step 8), R67C7 = [13], clean-up: no 5 in R3C3, no 1 in R3C8 , no 9 in R67C8, no 8 in R15C9, no 5 in R5C9 (both step 2), no 4 in R4C8 (step 3)
18b. Naked pair {89} in R23C9, locked for C9 and N3, clean-up: no 2 in R15C9 (step 2)
18c. Naked pair {89} in R2C59, locked for R2

19. 3 in C6 locked in R89C6
19a. 22(4) cage at R8C6 = {2389/3478}, no 1,5
19b. 2,3,4 must be in R89C6 -> no 2,4 in R8C7

20. R6C1 + R9C3 (step 9) = [83/94]
20a. R678C1 = {189/279/369/378/468} (cannot be {459} which clashes with R6C1 + R9C3, cannot be {567} because R6C1 only contains 8,9), no 5
20b. 1,2,4 of {189/279/468} must be in R8C1 -> no 1,2,4 in R7C1

21. 23(4) cage at R1C4 = {1679/2579/2678/3479/3569/3578/4568} (cannot be {1589/2489} which clash with R2C5)
21a. 8,9 only in R1C4 -> R1C4 = {89}
21b. 1,2 of {1679/2579/2678} must be in R1C5 -> no 1,2 in R2C34

22. Naked pair {89} in R1C4 and R2C5, locked for N2

23. R3C6 = {67} -> 22(3) cage at R3C6 = {679} (only remaining combination), no 5,8, 6 locked in R34C6, locked for C6, 9 locked in R4C67, locked for R4, clean-up: no 4 in R3C2

24. 8 in R4 locked in R4C12, locked for N4 -> R6C1 = 9, R9C3 = 4 (step 9), clean-up: no 9 in R7C23

25. R7C5 = 9 (hidden single in R7), R2C5 = 8, R9C5 = 7, R1C4 = 9, R23C9 = [98], R3C2 = 9 (hidden single in R3), R4C2 = 4
25a. R7C5 = 9 -> R67C6 = 8 = [71], R34C6 = [69], R4C7 = 7, R5C6 = 8, R7C4 = 2, R89C6 = [43], R8C7 = 8 (step 19a), clean-up: no 4 in R1C9 (step 2), no 1 in R3C3, no 2 in R4C3, no 4 in R6C8, no 5 in R7C8

26. R6C8 = 8 (hidden single in R6), R7C8 = 4

27. R4C1 = 8 (hidden single in R4), clean-up: no 1 in R8C1 (step 20a)
27a. 4 in C1 locked in R123C1 -> R123C1 = 10 = {145}, locked for C1 and N1

28. R7C4 = 2 -> R6C34 = 10 = [64], clean-up: no 2 in R6C25 (step 5), no 2 in R3C3, no 7 in R7C2

29. R8C3 = 9 (hidden single in C3)
29a. 1 in N7 locked in 19(4) cage = {1279/1369}, no 5,8
29b. 3 of {1369} must be in R8C2 -> no 6 in R8C2 (added for completeness)

30. R7C23 = {58} (hidden pair in N7), locked for R7

31. R5C9 = 4 (hidden single in C9), R1C9 = 7 (step 2), R7C9 = 6, R7C1 = 7, R8C1 = 2 (step 20a), R59C1 = [36], R89C2 = [31], R6C25 = [53], R689C9 = [215], R8C8 = 7, R7C23 = [85], R9C4 = 8, R4C3 = 1, R3C3 = 7, R2C34 = [37], R12C2 = [26], R1C3 = 8, R5C23 = [72], R12C6 = [52]

32. 10(3) cage at R3C4 = {136/145}
32a. 1 locked in R3C45, locked for R3 and N2 -> R1C5 = 4, R1C1 = 1, R1C8 = 3, clean-up: no 4 in R3C7
32b. R3C45 = {13} -> R4C4 = 6 (step 32)


and the rest is naked singles

1 2 8 9 4 5 6 3 7
5 6 3 7 8 2 4 1 9
4 9 7 3 1 6 5 2 8
8 4 1 6 2 9 7 5 3
3 7 2 1 5 8 9 6 4
9 5 6 4 3 7 1 8 2
7 8 5 2 9 1 3 4 6
2 3 9 5 6 4 8 7 1
6 1 4 8 7 3 2 9 5
Last edited by Andrew on Tue Mar 25, 2008 4:51 am, edited 1 time in total.
sudokuEd
Grandmaster
Grandmaster
Posts: 257
Joined: Mon Jun 19, 2006 11:06 am
Location: Sydney Australia

Post by sudokuEd »

Afmob wrote: there is nothing complicated about this and even those moves are easy to see I think
Congratulations to Afmob, Mike and Andrew for all finding this one so easy! Even knowing there was an easy way to solve this one, it took me many hours to find the key. Felt more like the SSscore to me - but then starting again to get straight to the unlocker: how easy :D.
mhparker wrote:It will be interesting to see why these two fine programs made such heavy going of it
Can't speak for Jsudoku, but SudokuSolverV3 doesn't know about two-cell cage blocks yet (Mike's Optimised WT step 5). Makes nearly 50 steps difference to SS's solution. It also doesn't know how to do hidden killer triple's (Mike's step 6) but this doesn't make any discernable difference. On the other hand, it is good at finding hidden quads in c6 (=Mike's-naked-quint-dressed-up-as-a-killer quad :wink: step 8).

I've put my order into Richard's queue for the 2-cell cage block. I'm hoping it will also help with the SS(v4)score for A88. I have an idea for getting the 1.45+ puzzle scores more accurate, but A88 is messing it up.

Once again, great work you guys in finding such a neat solution to this YAK.

Cheers
Ed
mhparker
Grandmaster
Grandmaster
Posts: 345
Joined: Sat Jan 20, 2007 10:47 pm
Location: Germany

Post by mhparker »

sudokuEd wrote:SudokuSolverV3 doesn't know about two-cell cage blocks yet
This is actually an example of a blocking constraint in the form of an Almost Locked Set (ALS), where N cells (N > 0) contain (N + 1) candidates. Of the Assassin forum members, Para is the specialist in using this ALS-based blocking. Here are just three further examples taken from some of his earlier walkthroughs:

Example 1 - Assassin 44 grid state after Para's step 27b:

Code: Select all

.-------------------------------.-------.-----------------------.-------.
| 9       3       4       2     | 6     | 7       58      58    | 1     |
&#58;-----------------------.-------&#58;       &#58;---------------.-------'       |
| 8       6       7     | 5     | 1     | 9       2     | 3       4     |
&#58;-----------------------&#58;       &#58;-------'-------.       |       .-------&#58;
| 5       12      12    | 3     | 4       8     | 67    | 9     | 67    |
&#58;-------.       .-------+-------'---------------&#58;       &#58;-------&#58;       |
| 237   | 4     | 189   | 79      28      15    | 67    | 167   | 23589 |
|       &#58;-------'       &#58;-----------------------+-------'       |       |
| 27    | 159     189   | 4       3       6     | 1589    1578  | 2589  |
|       |       .-------+-----------------------&#58;       .-------&#58;       |
| 237   | 159   | 6     | 79      28      15    | 1358  | 4     | 23589 |
|       &#58;-------&#58;       &#58;---------------.-------+-------'       '-------&#58;
| 4     | 8     | 3     | 6       7     | 2     | 159     15      59    |
&#58;-------'       |       '-------.-------&#58;       &#58;-----------------------&#58;
| 6       7     | 5       1     | 9     | 4     | 38      2       38    |
|       .-------'---------------&#58;       &#58;-------'-----------------------&#58;
| 1     | 29      29      8     | 5     | 3       4       67      67    |
'-------'-----------------------'-------'-------------------------------'
Para wrote:28. 16(3) in R4C4 = [925]: [781] clashes with R4C78
Here, R4C78 forms an ALS on the digits {167}. The digits 1 and 7 of [781] permutation see all of the digits 1 and 7 in the ALS (respectively), and is therefore blocked by it.

Example 2 - Assassin 74 Brick Wall grid state after Para's step 39a:

Code: Select all

.-----------------------------------.-----------------------------------.-----------------------------------.
| 123456789   123456789   123456789 | 789         346         234       | 123456789   123456789   123456789 |
&#58;-----------.-----------------------+-----------.-----------------------+-----------.-----------------------&#58;
| 23456789  | 12345678    12345678  | 5789      | 3678        123468    | 123456789 | 123456789   123456789 |
|           '-----------.           |           '-----------.           |           '-----------.           |
| 23456789    23456789  | 12345678  | 5789        13        | 123468    | 123456789   123456789 | 123456789 |
&#58;-----------.-----------'-----------+-----------.-----------'-----------+-----------.-----------'-----------&#58;
| 13456789  | 13456789    13456789  | 278       | 14          145       | 24689     | 12356       12356     |
|           '-----------.           |           '-----------.           |           '-----------.           |
| 13456789    13456789  | 13456789  | 278         78        | 145       | 24689       24689     | 12356     |
&#58;-----------.-----------'-----------+-----------.-----------'-----------+-----------.-----------'-----------&#58;
| 458       | 1245        1245      | 3         | 69          69        | 17        | 14578       14578     |
|           '-----------.           |           '-----------.           |           '-----------.           |
| 5689        5689      | 458       | 1           2         | 7         | 34589       34589     | 39        |
&#58;-----------.-----------'-----------+-----------.-----------'-----------+-----------.-----------'-----------&#58;
| 12        | 45789       45789     | 6         | 389         389       | 12        | 45789       45789     |
|           '-----------.           |           '-----------.           |           '-----------.           |
| 123         123       | 789       | 4           5         | 89        | 126         126       | 789       |
'-----------------------'-----------'-----------------------'-----------'-----------------------'-----------'
Para wrote:39b. 15(3) at R1C4: [843] blocked by R34C5: R1C6: no 3
This is a slightly more complicated example, in that the blocking ALS at R34C5 (= {134}) does not completely share a house with the 15(3) cage at R1C4. Nevertheless, the same logic holds: the 3 and 4 of the [843] permutation for R1C456 see all 3s and 4s (respectively) in the ALS at R34C5, and is therefore blocked by it.

Example 3 - Maverick 1 grid state after Para's step 32:

Code: Select all

.-----------------------.-----------------------.-----------.-----------------------.-----------------------.
| 4578        123       | 5689        5689      | 4578      | 46          79        | 123         123       |
|           .-----------'-----------.-----------'           '-----------.-----------'-----------.           |
| 5689      | 4679        4679      | 1235689     1235689     139       | 4578        4578      | 123       |
&#58;-----------+-----------------------+-----------.-----------.-----------+-----------------------+-----------&#58;
| 12357     | 12345789    12345789  | 345789    | 12345789  | 2389      | 6           45        | 89        |
|           &#58;-----------.           |           |           |           |           .-----------&#58;           |
| 13567     | 123456789 | 123456789 | 345789    | 123456789 | 2389      | 23        | 12345679  | 67        |
&#58;-----------'           &#58;-----------'-----------&#58;           &#58;-----------'-----------&#58;           '-----------&#58;
| 45679       12345679  | 234567      234567    | 12345679  | 56          89        | 12345679    456789    |
&#58;-----------.           &#58;-----------.-----------&#58;           &#58;-----------.-----------&#58;           .-----------&#58;
| 6789      | 123456789 | 123456789 | 1234567   | 123456789 | 127       | 1235      | 12345679  | 23567     |
|           &#58;-----------'           |           |           |           |           '-----------&#58;           |
| 6789      | 456789      456789    | 2345678   | 23456789  | 278       | 1235        245       | 12356     |
&#58;-----------+-----------------------+-----------'-----------'-----------+-----------------------+-----------&#58;
| 123       | 456789      456789    | 123456789   123456789   1379      | 345789      345789    | 45679     |
|           '-----------.-----------'-----------.           .-----------'-----------.-----------'           |
| 123         123       | 46789       12346     | 123456789 | 45          78        | 2345679     45679     |
'-----------------------'-----------------------'-----------'-----------------------'-----------------------'
Para wrote:33. 4 in N6 locked in 20(4) at R4C8 = {1469/147[8]/2459/246[8]/345[8]}(only place for 8 in R5C9): {3467} blocked by R4C9
33a. 20(4) can't have 2 of {245} in R456C8 because of R37C8: {2459/246[8]/345[8]} blocked
33b. 20(4) = {1469/147[8]} = {67..}: no 2,3,5; R5C9: no 7; 1 locked for N6 and C8(only place for 1 in R456C8);
This was the key move that Para found to break this puzzle. As in the first two examples, it is based on using an ALS (R37C8 = {245}) to block specific permutations of the 20(4) cage at R4C8.
Cheers,
Mike
mhparker
Grandmaster
Grandmaster
Posts: 345
Joined: Sat Jan 20, 2007 10:47 pm
Location: Germany

Post by mhparker »

sudokuEd wrote:Can't speak for Jsudoku, but SudokuSolverV3 doesn't know about two-cell cage blocks yet (Mike's Optimised WT step 5).
Seems like it's the same reason for JSudoku, too. I tested it with and without applying my step 5 manually at the earliest opportunity, and the resulting stats of techniques used were as follows:

Case 1: No manual intervention
JSudoku wrote:Techniques used:
47 Naked Singles
34 Hidden Singles
2 Unique Pairs
2 Naked Pairs
2 Hidden Pairs
2 Unique Triplets
12 Intersections
14 Odd Pairs
12 Odd Triplets
4 Double Innies & Outies
7 Mandatory Inclusions
7 Odd Quads
2 Complex Intersections
6 Triple Innies & Outies
2 Double Outies minus Innies
2 Complex Naked Pairs
3 Conflicting Combinations
4 Quadruple Innies & Outies
3 Triple Outies minus Innies
2 Pointing Triplets
1 Complex Naked Triplets
1 Grouped X-Wing
2 Grouped Turbot Fishes
1 XY-Chains up to 3 links
1 Grouped XY-Chains up to 3 links
4 Conflicting Combinations
18 Conflicting Partial Combinations
Case 2: Applying my step 5 manually at the earliest opportunity
JSudoku wrote:Techniques used:
55 Naked Singles
26 Hidden Singles
2 Unique Pairs
3 Naked Pairs
1 Hidden Pairs
3 Unique Triplets
8 Intersections
11 Odd Pairs
13 Odd Triplets
4 Double Innies & Outies
6 Mandatory Inclusions
2 Hidden Quads
5 Odd Quads
2 Complex Intersections
6 Triple Innies & Outies
2 Double Outies minus Innies
What a difference!

BTW, Jean-Christophe (if you're reading this) : What's a "Unique Pair"? :? Unfortunately, although it's mentioned in the stats, the term is not used in the log, so I can't home in on the corresponding moves and work it out for myself.
Cheers,
Mike
Jean-Christophe
Addict
Addict
Posts: 92
Joined: Mon Apr 23, 2007 12:50 pm
Location: Belgium

Post by Jean-Christophe »

mhparker wrote:It will be interesting to see why these two fine programs made such heavy going of it.
In can only speak of JSudoku.
Afmob wrote:5. C456 !
a) Killer triple (789) locked in R79C5 + 23(4) for N8
-> 23(4) @ N8 can only have one of (789)
This step is indeed two different steps in one:
First the Killer triple, which JSudoku will find. It's called "Complex Naked Triplet".
Second a contradiction involving not less than 3 candidates, two cells and a cage which has one cell out of n8. This second one is not found by JSudoku. There is a solver for Conflicting triplets, but so far it does only check for a cage conflicting with one cell or one other cage. It does not check for a cage conflicting with two other "entities" (cells and/or cages). However, this can be done by hand: Select the two cells r79c5 and all 4 cells in the cage 23/4. Then right click to open contextual popup menu, press the ctrl key to "Update Combinations > Selected Cells".
Afmob wrote:5e) ! Killer quad (1234) locked in 21(4) + R789C6 for C6
-> 21(4) can only have one of (1234)
Again two steps in one:
JSudoku will see the Hidden Quad {6789} @ r3456c6
But It will not find the second step, the conflict with r789c6 = {1234}. Again this can be done by hand, selecting r789c6 and all 4 cells in cage 21/4
But IMO, it's easier to deduce:
5 @ c6 locked @ r12c6 -> locked for n2, cage 21/4 = {5(169|268)} = {56..} -> r1c7 = 6

After Afmob step 6, I believe it's easier to follow the steps I already mentioned:

JC's step 7.
In/Outies n7 -> r6c1=r9c3+5. Since r9c3 = {34} -> r6c1 = {89}
8 @ r4: cages 8/2, 10/3, split 7/2 @ r4c58 -> no 8 @ r4c3..9
-> 8 @ r4 locked @ r4c12 -> locked for n4
-> r6c1 = 9, r9c3 = 4, 23/4 @ n8 = {4568}, NT {568} @ n8
...

BTW Unique pairs (triplets, quads...) is nothing really new. Jsudoku searches for cages with a unique combination. It will either solve all cells if there only one possible ordering for the digits or restrict the cage's candidates and apply the naked pair (triplet, quad) in one go. I wrote this solver to let JSudoku better follow a WT a human would follow.
Andrew
Grandmaster
Grandmaster
Posts: 300
Joined: Fri Aug 11, 2006 4:48 am
Location: Lethbridge, Alberta

Post by Andrew »

Interesting comments, JC.

After Afmob's step 5d there is Naked Quint {12345} in R12789C6, my step 15. Then 5 in C6 is locked in R12C6 -> only one of 1,2,3,4 can be in R12C6. Does JSudoku spot these steps?

Before that, instead of Afmob's step 5a, I used two steps (13 and 14 in my walkthrough), first limiting the combinations in 23(4) cage at R8C4 because of clashes with R79C5 and then applying the killer triple for N8. Can JSudoku spot these steps?
Jean-Christophe
Addict
Addict
Posts: 92
Joined: Mon Apr 23, 2007 12:50 pm
Location: Belgium

Post by Jean-Christophe »

Andrew wrote:After Afmob's step 5d there is Naked Quint {12345} in R12789C6, my step 15. Then 5 in C6 is locked in R12C6 -> only one of 1,2,3,4 can be in R12C6. Does JSudoku spot these steps?
Yes, except it will spot the complementary hidden quad {6789} @ r3456c6 instead of the naked quint.
Andrew wrote:Before that, instead of Afmob's step 5a, I used two steps (13 and 14 in my walkthrough), first limiting the combinations in 23(4) cage at R8C4 because of clashes with R79C5 and then applying the killer triple for N8. Can JSudoku spot these steps?
As I said, it won't spot the conflict/clash for cage 23/4 @ n8 (your step 13). But it will find the killer triple (your step 14). Probably after wanderings in "easier" techniques.
I'll see if I can adapt my conflicting solver for ALS triplets like these.
Jean-Christophe
Addict
Addict
Posts: 92
Joined: Mon Apr 23, 2007 12:50 pm
Location: Belgium

Post by Jean-Christophe »

Jean-Christophe wrote:I'll see if I can adapt my conflicting solver for ALS triplets like these.
Done :!:
This greatly simplifies the WT without any manual intervention:
JSudoku wrote:...
r7c5, r9c5 & Cage 23/4 in r8c45+r9c34 forms a complex naked Triplet on {789} -> not elsewhere in n8
r79c5 must have at least 2 of {789} -> Cage 23/4 in r8c45+r9c34 may have at most 1 of {789}
Cage 23/4 in r8c45+r9c34 -> r9c4 = {5689}, r9c3 = {34}, r8c5 = {56}, r8c4 = {5689}
...

Techniques used:
74 Naked Singles
7 Hidden Singles
3 Unique Pairs
2 Naked Pairs
2 Hidden Pairs
3 Unique Triplets
8 Intersections
11 Odd Pairs
15 Odd Triplets
4 Double Innies & Outies
7 Mandatory Inclusions
2 Hidden Quads
4 Odd Quads
2 Complex Intersections
6 Triple Innies & Outies
2 Double Outies minus Innies
1 Complex Naked Pairs
1 Conflicting Pairs
4 Quadruple Innies & Outies
3 Triple Outies minus Innies
1 Pointing Triplets
1 Complex Naked Triplets
1 Conflicting Triplets
Andrew
Grandmaster
Grandmaster
Posts: 300
Joined: Fri Aug 11, 2006 4:48 am
Location: Lethbridge, Alberta

Post by Andrew »

That looks a useful improvement JC!

Now a question, probably aimed at Ed and Mike since they started the discussion of 2-cell cage blocks and ALS cage blocks in this thread. Are the following thoughts correct?
Andrew wrote:13. 23(4) cage at R8C4 = {3569/4568} (cannot be {1589/1679/2489/2579/2678/3479/3578} which clash with R79C5), no 1,2,7, 5,6 locked for N8, clean-up: no 6,7 in R6C1 (step 9)
13a. R9C3 = {34} -> no 3,4 in R8C45 + R9C4

14. Killer triple 7,8,9 in R79C5 + R89C4, locked for N8
14a. 7 in N8 locked in R79C5, locked for C5
At the time that I did stage 13 my thought process was that I was just doing standard combination analysis. However after reading the discussion in this thread it occurred to me that I may have used an ALS cage block without realising it.

There is also another way of looking at my step 13. 23(4) cage at R8C4 must have at least one of 7,8,9 since {3456} only total 20. Then hidden killer triple 7,8,9 in R79C5 and R89C4 -> only one of 7,8,9 in R8(C4 -> 23(4) cage at R8C4 = {3569/4568} (all other combinations have two of 7,8,9). The rest of step 13 and step 13a would still follow as before.

That makes me think that some hidden killers can also be ALS cage blocks although most hidden killers won't be.

Even with this alternative approach to step 13, step 14 is still required IMHO because the hidden killer triple and the killer triple do different things; one is inclusive and the other is exclusive.
sudokuEd
Grandmaster
Grandmaster
Posts: 257
Joined: Mon Jun 19, 2006 11:06 am
Location: Sydney Australia

Post by sudokuEd »

Andrew wrote:Are the following thoughts correct?
Andrew wrote:At the time that I did step 13 ... I may have used an ALS cage block without realising it
Yes! Just like you (and Afmob) did in A88
r89c3 = {357} -> {57} blocked from 12(2)r34c3
It is a 2-cell ALS(+1) block.

A88: 2-cell Almost Locked Set (ALS) (+1) in r89c3 -> {57} blocked from 12(2)r34c3

Code: Select all

.-----------------------------------------------------------------------.
|&#40;17&#41;   &#58;       |&#40;10&#41;   |&#40;17&#41;   &#58;       &#58;       |&#40;19&#41;   |&#40;21&#41;   &#58;       |
|       &#58;  123  |   23  |  123  &#58;  123  &#58;  123  |   23  |  123  &#58;  123  |
|   5   &#58;   56  |  456  |  456  &#58;  456  &#58;  456  |  456  |  456  &#58;  456  |
|  789  &#58;  789  |  7    |  78   &#58;  789  &#58;  789  |  78   |  789  &#58;  789  |
|-------&#58;.......|.......|-----------------------|.......|.......--------|
|&#40;29&#41;   |       |       &#58;       |&#40;18&#41;   |       &#58;       |       |&#40;19&#41;   |
|       |  123  |   23  &#58;  123  |  123  |       &#58;   23  |  123  |  123  |
|   5   |   56  |  456  &#58;       |  456  |       &#58;  456  |  456  |  456  |
|  789  |  789  |  7    &#58;       |  789  |  789  &#58;  789  |  789  |  789  |
|.......|.......|---------------|.......|---------------|.......|.......|
|       |       |&#40;12&#41;   |       &#58;       &#58;       |&#40; 9&#41;   |       |       |
|       |  123  |    3  |  123  &#58;  123  &#58;  123  |  123  |  123  |  123  |
|   5   |   56  |  45   |  456  &#58;  456  &#58;  456  |  456  |  456  |  456  |
|  789  |  789  |  7    |  78   &#58;  789  &#58;  789  |  78   |  789  |  789  |
|.......|-------|.......|-----------------------|.......|-------|.......|
|       &#58;       |       |&#40;17&#41;   |&#40;14&#41;   |&#40;25&#41;   |       |       &#58;       |
|       &#58;       |       |  123  |  123  |  123  |  123  |  123  &#58;  123  |
|   5   &#58;   5   |   5   |  456  |  456  |  456  |  456  |  456  &#58;  456  |
|  789  &#58;  789  |  789  |       |       |       |  78   |  789  &#58;  789  |
|---------------|-------|.......|.......|.......|-------|---------------|
|&#40;15&#41;   |       &#58;       &#58;       |       |       &#58;       &#58;       |&#40;14&#41;   |
|    3  |   2   &#58;  12   &#58;  123  |  123  |    3  &#58;   23  &#58;       |  123  |
|    6  |   5   &#58;   5   &#58;  456  |  456  |  456  &#58;  456  &#58;  456  |  4    |
|       |  7    &#58;  789  &#58;  78   |  7    |  789  &#58;  789  &#58;  789  |       |
|.......|-----------------------|.......|-----------------------|.......|
|       &#58;       |&#40;12&#41;   &#58;       |       |&#40;14&#41;   &#58;       |       &#58;       |
|    3  &#58;       |  12   &#58;  123  |       |  123  &#58;  123  |  123  &#58;  123  |
|    6  &#58;   4   |   5   &#58;   56  |    6  |   56  &#58;   56  |   56  &#58;   56  |
|       &#58;       |  789  &#58;  78   |  789  |  789  &#58;  789  |  78   &#58;  78   |
|.......--------|-------&#58;.......|-------|.......--------|-------&#58;.......|
|       |&#40;23&#41;   &#58;       |       |&#40; 9&#41;   |       |&#40;12&#41;   &#58;       |       |
|       |       &#58;       |  123  |       |  123  |    3  &#58;    3  |  123  |
|   2   |    6  &#58;    6  |  456  |   56  |  456  |  456  &#58;  456  |  456  |
|       |   89  &#58;   89  |       |  78   |       |  7    &#58;  78   |       |
|-------|.......--------|-------|.......|-------|-------&#58;.......|-------|
|&#40; 5&#41;   |       |&#40;24&#41;   &#58;       |       |&#40;21&#41;   &#58;       |       |&#40;14&#41;   |
|  1    |       |    3  &#58;       |  123  |    3  &#58;  123  |  123  |       |
|  4    |    6  |   5   &#58;   9   |  4    |  456  &#58;  456  |       |   56  |
|       |   8   |  7    &#58;       |       |  78   &#58;  78   |       |   8   |
|.......|-------|.......--------|-------|-------&#58;.......|-------|.......|
|       |       &#58;       |&#40;15&#41;   &#58;       &#58;       |       &#58;       |       |
|  1    |    3  &#58;    3  |  123  &#58;  123  &#58;  123  |  123  &#58;       |       |
|  4    |   5   &#58;   5   |  456  &#58;  456  &#58;  456  |  456  &#58;  456  |   56  |
|       |  7    &#58;  7    |  78   &#58;  78   &#58;  78   |  789  &#58;  789  |   89  |
.-----------------------------------------------------------------------.
Presumably there can be a 2-cell ALS(+2); ALS(+3) etc which blocks a combination(s) from larger cages.
Andrew wrote:23(4) cage at R8C4 must have at least one of 7,8,9 since {3456} only total 20. Then hidden killer triple 7,8,9 in R79C5 and R89C4 -> only one of 7,8,9 in R8(C4 -> 23(4) cage at R8C4 ={3569/4568} (all other combinations have two of 7,8,9). The rest of step 13 and step 13a would still follow as before
This is the way that Afmob used, but I think you have been a bit more technically correct calling it "hidden" killer triple. For example, SudokuSolver can't find this one since for it, a killer triple has to have 2 complete cages in the one house, or 1 complete cage and 1/2 single cells all in the same house.

Because there is one cell outside the nonet (r9c3), it cannot find a killer triple. Hidden killer triple is also in Richard's queue.
Andrew wrote:That makes me think that some hidden killers can also be ALS cage blocks
As has happened this time - two ways to get the same result. As long as we keep clear that ALS blocks involve single cells that don't have a single cage enclosing them.
Andrew wrote:although most hidden killers won't be
Nor will most ALS cage blocks. I think I'm right that all the examples Mike gave and this one from A88 cannot be found by (hidden) killer subsets. Sounds like Jean-Christophe has just worked with the hidden killer subset on JSudoku, not the 2-cell ALS block. I hope Richard does both with SS.
Andrew wrote: step 14 is still required IMHO because the hidden killer triple and the killer triple do different things; one is inclusive and the other is exclusive.
I think technically these are both hidden killer subset moves since they only work because r9c3 does not have (789).

I'm not exactly sure about inclusive and exclusive part. But this could be the reason for why Richard has "killer pairs", "hidden killer pairs" and has just introduced "forced killer pairs" in SudokuSolverV3.

eg, for Bored89-Easy it says forced Killer Pair found in cage 5(2) n5 & r8c6 for c6 -> r8c6 = {12}. I'm a bit vague on what the exact difference is between "hidden" & "forced", so perhaps inclusive & exclusive belong in here somewhere also. I'm planning on just continuing to use "hidden" killer pair for this situation (when I finally get around to another walk-through!).

Bored89-Easy: Forced killer pair in 5(2) n5 & r8c6 for c6 -> r8c6 = {12}

Code: Select all

.-----------------------------------------------------------------------.
|&#40;17&#41;   &#58;       &#58;       |&#40;15&#41;   &#58;       &#58;       |&#40;25&#41;   &#58;       &#58;       |
|  123  &#58;  123  &#58;  123  |    3  &#58;  123  &#58;    3  |  123  &#58;  123  &#58;  123  |
|  456  &#58;  456  &#58;  456  |  456  &#58;  456  &#58;  45   |  4 6  &#58;  456  &#58;  456  |
|  789  &#58;  789  &#58;  789  |       &#58;       &#58;       |  78   &#58;  789  &#58;  789  |
|.......----------------|-------&#58;.......--------|---------------&#58;.......|
|       |&#40;22&#41;   &#58;       &#58;       |       |&#40;18&#41;   &#58;       &#58;       |       |
|  123  |   23  &#58;   23  &#58;  12   |  123  |       &#58;  123  &#58;  123  |  123  |
|  456  |  456  &#58;  456  &#58;   5   |  456  |  45   &#58;  4 6  &#58;  456  |  456  |
|  789  |  789  &#58;  789  &#58;  7    |       |  7    &#58;  78   &#58;  789  |  789  |
|-------|-------&#58;.......--------|-------|-------&#58;.......--------|-------|
|&#40;15&#41;   &#58;       |       |&#40;14&#41;   |&#40;17&#41;   &#58;       |       |&#40;13&#41;   &#58;       |
|  12   &#58;  12   |    3  |  12   |       &#58;       |    3  |  12   &#58;  12   |
|   56  &#58;   56  |  4    |   5   |       &#58;       |  4    |   56  &#58;   56  |
|  7    &#58;  7    |       |  7    |   89  &#58;   89  |       |  7    &#58;  7    |
|.......--------|-------|.......|---------------|-------|-------&#58;.......|
|       |&#40;25&#41;   |       &#58;       |&#40;19&#41;   |&#40; 5&#41;   |&#40;14&#41;   |&#40;16&#41;   |       |
|   2   |  123  |  123  &#58;       |    3  |  123  |       |  123  |       |
|  4    |  456  |  45   &#58;    6  |  4    |  4    |   5   |  4    |  4 6  |
|  78   |  789  |  7    &#58;   89  |  789  |       |    9  |  78   |  7    |
|-------|.......|---------------|.......|.......|.......|.......|-------|
|       &#58;       |&#40; 9&#41;   |&#40; 7&#41;   |       |       |       |       &#58;       |
|  123  &#58;  123  |  123  |  12   |       |  123  |       |  123  &#58;  123  |
|  456  &#58;  456  |  456  |   56  |       |  4    |   5   |  4    &#58;  4    |
|  789  &#58;  789  |  78   |       |  789  |       |    9  |  78   &#58;  78   |
|-------&#58;.......|.......|.......|.......|-------|-------|.......--------|
|&#40;15&#41;   |       |       |       |       |&#40;15&#41;   &#58;       |       |&#40;18&#41;   |
|  123  |  123  |  123  |  12   |    3  |       &#58;  12   |  123  |       |
|  456  |  456  |  456  |   56  |  4    |   56  &#58;  4    |  4    |  4 6  |
|  7    |  789  |  78   |       |  789  |   8   &#58;       |  78   |  78   |
|.......|-------|-------|-------|-------|.......--------|-------|.......|
|       &#58;       |&#40;17&#41;   |&#40;13&#41;   &#58;       |       |&#40;19&#41;   |       &#58;       |
|    3  &#58;    3  |  12   |       &#58;       |       |  12   |    3  &#58;    3  |
|  456  &#58;  456  |       |       &#58;  456  |  456  |       |  456  &#58;  456  |
|  789  &#58;  789  |       |  789  &#58;       |  78   |       |  789  &#58;  789  |
|---------------|.......|---------------|-------|.......|---------------|
|&#40;23&#41;   |       &#58;       &#58;       |&#40;17&#41;   |       &#58;       &#58;       |&#40;17&#41;   |
|  123  |  123  &#58;  123  &#58;    3  |  123  |  123  &#58;    3  &#58;    3  |  123  |
|  456  |  456  &#58;  456  &#58;  456  |  456  |   5   &#58;  4 6  &#58;  456  |  456  |
|  789  |  789  &#58;  789  &#58;  789  |       |       &#58;  78   &#58;  789  |  789  |
|.......|-----------------------|.......|-----------------------|.......|
|       &#58;       &#58;       |       &#58;       &#58;       |       &#58;       &#58;       |
|  123  &#58;  123  &#58;  123  |    3  &#58;  123  &#58;       |  123  &#58;  123  &#58;  123  |
|  456  &#58;  456  &#58;  456  |  456  &#58;  456  &#58;       |  4 6  &#58;  456  &#58;  456  |
|  789  &#58;  789  &#58;  789  |       &#58;       &#58;  789  |  78   &#58;  789  &#58;  789  |
.-----------------------------------------------------------------------.
Making me think hard! Thanks Andrew :D .

Cheers
Ed
Post Reply