Prelims
a) R2C23 = {17/26/35}, no 4,8,9
b) R23C5 = {16/25/34}, no 7,8,9
c) R23C7 = {14/23}
d) R2C89 = {18/27/36/45}, no 9
e) R3C89 = {49/58/67}, no 1,2,3
f) R4C23 = {15/24}
g) R6C45 = {49/58/67}, no 1,2,3
h) R78C2 = {16/25/34}, no 7,8,9
i) R7C45 = {49/58/67}, no 1,2,3
j) R78C9 = {19/28/37/46}, no 5
k) R89C5 = {18/27/36/45}, no 9
l) R8C67 = {16/25/34}, no 7,8,9
m) 11(3) cage at R4C8 = {128/137/146/236/245}, no 9
n) 20(3) cage at R6C2 = {389/479/569/578}, no 1,2
o) 26(4) cage at R1C5 = {2789/3689/4589/4679/5678}, no 1
p) 27(4) cage at R4C1 = {3789/4689/5679}, no 1,2
Steps resulting from Prelims
1a. 27(4) cage at R4C1 = {3789/4689/5679}, 9 locked for C1
1b. 9 in R2 only in R2C46, locked for N2
2. 45 rule on R123 (or, if preferred, on N12) 1 outie R4C4 = 7, clean-up: no 6 in R6C45, no 6 in R7C5
2a. 24(4) cage at R2C4 contains 7 = {2679/3579/3678/4578}, no 1
2b. 7 in N2 only in 26(4) cage at R1C5 = {2789/4679/5678}, no 3
2c. 9 of {2789/4679} must be in R2C6 -> no 2,4 in R2C6
3. 45 rule on N1 1 innie R3C3 = 1 outie R1C4 + 5, R1C4 = {134}, R3C3 = {689}
4. 45 rule on C1 1 outie R3C2 = 2 innies R89C1 + 2
4a. Min R89C1 = 3 -> min R3C2 = 5
4b. Max R89C1 = 7, no 7,8
5. 45 rule on R89 3 innies R8C289 = 21 = {489/578/678}, no 1,2,3, clean-up: no 4,5,6 in R7C2, no 7,8,9 in R7C9
5a. R8C2 = {456} -> no 4,5,6 in R8C89, clean-up: no 4,6 in R7C9
6. 20(3) cage at R6C2 = {389/479/569/578}
6a. 3,6 of {389/569} must be in R6C23 (R6C23 cannot be {59/89} which clash with R6C45), no 3,6 in R7C3
7. 45 rule on C89 3(1+2) outies R1C7 + R9C67 = 11
7a. Min R19C7 = 3 -> max R9C6 = 8
7b. Min R9C67 = 3 -> max R1C7 = 8
8. 45 rule on R6789 3(2+1) outies R45C1 + R5C8 = 24
8a. Max R45C1 = 17 -> min R5C8 = 7
8b. Min R45C1 = 15, no 3,4,5
8c. Max R5C18 = 17 -> no 6 in R4C1
9. Min R58C8 = 15 -> max R6C89 + R7C8 = 9, no 7,8,9
10. 45 rule on N2 3 innies R123C4 = 12 = {129/138/345} (cannot be {156} because 24(4) cage at R2C4 cannot contain both of 5,6, cannot be {246} which clashes with R23C5), no 6
10a. 9 of {129} must be in R2C4 -> no 2 in R2C4
11. 45 rule on C1234 3 outies R567C5 = 22 = {589/679}, 9 locked for C5, clean-up: no 9 in R6C4, no 9 in R7C4
11a. Min R5C5 = 5 -> max R5C234 = 10, no 8,9 in R5C234
12. 45 rule on C1234 2 innies R67C4 = 1 outie R5C5 + 4
[Sorry, I missed something more here, see step 19]
12a. R5C5 = {5689} -> R67C4 = 9,10,12,13 = {45/46/48/58}
12b. R123C4 (step 10) = {129/138} (cannot be {345} which clashes with R67C4) -> R1C4 = 1, R23C4 = [38/83/92], no 4,5, R3C3 = 6 (step 3), clean-up: no 2 in R2C23, no 6 in R2C5, no 7 in R3C89
12c. Killer pair 2,3 in R23C4 and R23C5, locked for N2
12d. 12(3) cage at R1C2 contains 1 = {129/138/147}, no 5
12e. R2C89 = {18/27/36} (cannot be {45} which clashes with R3C89), no 4,5
12f. R89C5 = {18/27/36} (cannot be {45} which clashes with R23C5), no 4,5
13. 18(3) cage at R1C7 = {279/369/567} (cannot be {378} which clashes with R2C89, cannot be {459/468} which clash with R3C89), no 4,8
14. 45 rule on C6789 2 outies R14C5 = 7 = [43/52/61] -> R1C5 = {456}, R4C5 = {123}
14a. 4 in C5 only in R123C5, locked for N2
14b. 7 in N2 only in R123C6, locked for C6
15. R2C23 = {17/35}, R2C89 = {18/27/36} -> combined cage R2C2389 = {17}{36}/{35}{18}/{35}{27}, 3 locked for R2, clean-up: no 8 in R3C4 (step 12b), no 4 in R3C5, no 2 in R3C7
16. 3 in N2 in R3C45, locked for R3, clean-up: no 2 in R2C7
16a. Naked pair {14} in R23C7, locked for C7 and N3, clean-up: no 8 in R2C89, no 9 in R3C89, no 3,6 in R8C6
16b. Naked pair {58} in R3C89, locked for R3 -> R3C6 = 7, R3C2 = 9, clean-up: no 2 in 12(3) cage at R1C2 (step 12d), no 2 in R2C5
16c. Naked pair {23} in R3C45, locked for R3 + N3
16d. Killer pair 3,7 in 12(3) cage and R2C23, locked for N1
16e. 2 in N1 only in R12C1, locked for C1
17. R3C2 = R89C1 + 2 (step 4), R3C2 = 9 -> R89C1 = 7 = {16/34}, no 5
17a. Killer pair 1,4 in R3C1 and R89C1, locked for C1
17b. 37(7) cage at R8C1 = {1246789/1345789/2345689}
17c. 3 of {1345789/2345689} must be in R89C1 (because these combinations only contain one of 1,6) -> no 3 in R8C34 + R9C234
18. Killer triple 1,4,5 in R2C23, R2C5 and R2C7, locked for R2
19. R67C4 = R5C5 + 4 (step 12), IOU no 4 in R7C4, clean-up: no 9 in R7C5
19a. 9 in C5 only in R56C5, locked for N5
20. R7C45 = {58}/[67], R89C5 = {18/27/36} -> combined cage R7C45 + R89C5 = {58}{27}/{58/36}/[67]{18}, 8 locked for N8
21. 37(7) cage at R8C1 contains 8, locked for N7
22. 45 rule on R6789 2 innies R67C1 = 1 outie R5C8 + 3
22a. R5C8 = {789} -> R67C1 = 10,11,12 = {37/38/39/57}, no 6
[Thanks Ed for pointing out that {56} is still valid. Step 22 deleted and step 23 re-worked.]
23. 45 rule on N4 2 outies R7C13 = 2 innies R5C23 + 8
23a. Min R5C23 = 4 (cannot be {12} which clashes with R4C23) -> min R7C13 = 12 -> R7C13 = 12,13,14,15,16 = {39/49/67/59/69/79} (cannot be {57} which clashes with R7C45)
23b. 45 rule on N9 2 innies R7C13 = 2 outies R89C4 + 1
23c. R89C4 = 11,13,14,15 (cannot total 12 because doesn’t contain 3,7 or 8) -> R7C13 = 12,14,15,16 = {39/59/69/79}, no 4, 9 locked for R7 and N7
[The rest is fairly straightforward.]
24. 9 in N8 only in R89C4, locked for C4 -> R2C4 = 8, R3C4 = 3 (step 12b), R3C5 = 2, R2C5 = 5, R1C56 = [46], R2C6 = 9, R2C1 = 2, clean-up: no 7 in R1C23 (step 12d), no 3 in R2C23, no 7 in R2C89, no 7 in R89C5
25. Naked pair {38} in R1C23, locked for R1 -> R1C1 = 5
25a. R3C1 = 4 (hidden single in N1), clean-up: no 3 in R89C1 (step 17)
25b. Naked pair {16} in R89C1, locked for C1, N7 and 37(7) cage at R8C1, no 6 in R89C4
[6 has now been eliminated from R67C1, without using the incomplete step 22.]
26. R7C5 = 7 (hidden single in C5), R7C4 = 6, clean-up: no 3 in R89C5
26a. Naked pair {18} in R89C5, locked for C5 and N8 -> R4C5 = 3, R6C5 = 9, R6C4 = 4, clean-up: no 6 in R8C7
27. R5C5 = 6 -> R5C234 = 9 = {135/234}, no 7, 3 locked for R5 and N4
27a. R5C4 = {25} -> no 2,5 in R5C23
28. R7C3 = 9 (hidden single in C3), R7C1 = 3, R7C2 = 2, R8C2 = 5, R7C9 = 1, R8C9 = 9, R8C4 = 2, R8C67 = [43], R7C67 = [58], R78C8 = [47], R8C3 = 8, R1C23 = [83]
29. R5C45 = [56] = 11 -> R5C23 = 4 = [31], R2C23 = [17], R9C23 = [74], R6C23 = [65], R4C23 = [42]
30. R6C1 = 8, R6C7 = 7 (hidden singles in R6), R6C6 = 1 (cage sum)
31. R4C6 = 8, R5C67 = [29], R4C7 = 5 (cage sum)
and the rest is naked singles.