Prelims
a) R12C5 = {19/28/37/46}, no 5
b) R12C9 = {59/68}
c) R2C34 = {69/78}
d) R2C67 = {13}
e) R34C2 = {17/26/35}, no 4,8,9
f) R5C34 = {14/23}
g) R5C67 = {17/26/35}, no 4,8,9
h) R67C8 = {18/27/36/45}, no 9
i) R8C34 = {17/26/35}, no 4,8,9
j) R89C5 = {29/38/47/56}, no 1
k) R8C67 = {39/48/57}, no 1,2,6
l) 24(3) cage at R6C3 = {789}
m) 19(3) cage at R9C2 = {289/379/469/478/568}, no 1
n) 28(4) cage at R2C1 = {4789/5689}, no 1,2,3
o) 33(5) cage at R3C9 = {36789/45789}, no 1,2
p) 18(5) cage at R6C9 = {12348/12357/12456}, no 9
Steps resulting from Prelims
1a. Naked pair {13} in R2C67, locked for R2, clean-up: no 7,9 in R1C5
1b. 28(4) cage at R2C1 = {4789/5689}, CPE no 8,9 in R1C1
1c. 33(5) cage at R3C9 = {36789/45789}, CPE no 7,8 in R6C9
1d. 1,2 in C9 only in R6789, locked for 18(5) cage at R6C9, no 1,2 in R8C8
2. 45 rule on R1234 2 outies R5C89 = 14 = {59/68}
2a. 45 rule on R1234 3 innies R3C9 + R4C89 = 19 = {379/478}, no 5,6
3. 45 rule on R6789 3 outies R5C125 = 18 = {279/378/459/468} (cannot be {189/369/567} which clash with R5C89), no 1
4. 45 rule on C1234 2 innies R46C4 = 3 = {12}, locked for C4 and N5, clean-up: no 3,4 in R5C3, no 6,7 in R5C7, no 6,7 in R8C3
5. 45 rule on C6789 2 innies R46C6 = 14 = {59/68}
6. 45 rule on N5 4(2+2) outies R37C5 + R5C37 = 9
6a. Min R5C37 = 3 -> max R37C5 = 6, no 6,7,8,9 in R37C5
7. 45 rule on R1 2 innies R1C59 = 2 outies R23C8 + 11
7a. Max R1C59 = 17 -> max R23C8 = 6, no 6,7,8,9 in R23C8, no 5 in R3C8
7b. Min R23C8 = 3 -> min R1C59 = 14 -> R1C5 = {68}, R1C9 = {689}, clean-up: R2C5 = {24}, no 9 in R2C9
8. 45 rule on R1 4(1+3) outies R2C5 + R2C89 + R3C8 = 13 = [2+11]/[4+9] = [2452/4261] (cannot be [2461] because R12C5 = [82] clashes with R12C9 = [86]) -> R2C8 = {24}, R2C9 = {56}, R3C8 = {12}, R23C8 = [42/21], 2 locked for C8, N3 and 19(5) cage at R1C6, no 2 in R1C6, clean-up: no 6 in R1C9, no 7 in R67C8
[Ed pointed out that an alternative way to look at this step is min R2C59 + R3C8 = [251] -> max R2C8 = 4, because R2C89 cannot be [55] ...]
8a. R2C59 = [25/46] -> R1C59 = [89/68], 8 locked for R1
8b. Naked pair {24} in R2C58, locked for R2
8c. 2 in R1 only in R1C123, locked for N1, clean-up: no 6 in R4C2
9. 45 rule on C12 3(2+1) innies R1C12 + R9C2 = 11
9a. Min R1C12 = 3 -> max R9C2 = 8
9b. Min R1C1 + R9C2 = 3 -> no 9 in R1C2
10. 1 in C4 only in R46C4, 1 in C5 only in R37C5 -> 18(4) cage at R3C5 and 23(5) cage at R5C5 must both contain 1
10a. R4C56 cannot total 14 because this clashes with R46C6 (CCC) -> R3C5 + R4C4 cannot total 4 -> no 3 in R3C5
[There’s an alternative way to get this elimination, see step 18.]
11. R456C5 cannot contain both of {68} (which would clash with R1C5) -> either R46C6 = {68} or R5C6 = 6 (because no 8 in R5C6), 6 locked for C6 and N5
12. 6 in C5 only in R12C5 = [64] or R89C5 = {56} (locking cages)
12a. 18(4) cage at R3C5 contains 1 (step 10) = {1269/1278/1359/1458/1467} (cannot be {1368} because 3,6,8 only in R4C56)
12b. 3,7 of {1359/1467} must be in R4C5, 8 of {1458} must be in R4C5 (R34C5 cannot be {45} which clash with R12C5 + R89C5), no 4,5 in R4C5
13. 45 rule on R12 3(2+1) outies R34C1 + R3C8 = 15 = {49/58}2/{68}1 (cannot be {67}2 because 28(4) cage at R2C1 cannot contain both of 6,7, cannot be {59}1 because R2C12 = {68} clashes with R2C34), no 7 in R34C1
[Ed pointed out that an alternative way to look at this step is 28(4) cage = {4789/5689}, 7 of {4789} must be in R2C12 (R2C12 cannot be {89} which clashes with R2C34) -> no 7 in R34C1.]
14. 23(5) cage at R5C5 contains 1 (step 10) = {12389/12479/12569/12578/13469/13478/13568/14567}
14a. 18(4) cage at R3C5 (step 12a) = {1269/1278/1359/1467} (cannot be {1458} which clashes with 23(5) cage which must have R6C4 = 2, R7C5 = 1 for this combination of the 18(4) cage)
15. R2C5 + R2C89 + R3C8 (step 8) = [2452/4261]
15a. 19(5) cage at R1C6 contains 2 = {12349/12457} (cannot be {12367} which clashes with R2C5 + R2C89 + R3C8), no 6
[I ought to have spotted this earlier, when I was working on step 12.]
16. 6 in C5 only in R12C5 = [64] or R89C5 = {56} -> R89C5 = {29/38/56} (cannot be {47}, locking-out cages), no 4,7 in R89C5
16a. 7 in C5 only in R456C5, locked for N5, clean-up: no 1 in R5C7
17. R5C3 = 1 (hidden single in R5), R5C4 = 4, clean-up: no 7 in R3C2, no 7 in R8C4
17a. Killer pair 5,6 in R5C67 and R5C89, locked for R5
17b. 12(3) cage at R3C3 = {237/246/345}, no 8,9
17c. Min R3C34 = 7 -> max R4C3 = 5
17d. 6 of {246} must be in R3C4 -> no 6 in R3C3
[And something else I could have got earlier.]
18. R37C5 + R5C37 = 9 (step 6)
18a. R5C37 = [12/13/15] = 3,4,6 -> R37C5 = 3,5,6 = {12/14/15}, no 3 in R7C5
19. 23(5) cage at R5C5 (step 14) = {12389/12569/12578/13469/13478/14567} (cannot be {12479} because 1,2,4 only in R6C4 + R7C5, cannot be {13568} which clashes with R46C6 = [86], CCC)
19a. 1,2,4 of {12569/12578/14567} must be in R6C4 + R7C5 -> no 5 in R7C5
20. 15(2) cage at R2C3 + 24(3) cage at R6C3 give combined 39(3+2) cage, max R27C4 = 17 -> min R267C3 = 22, must contain 9 in C3, locked for C3
21. 19(3) cage at R9C2 = {289/379/469/478/568}
21a. 9 of {379} must be in R9C4 -> no 3 in R9C4
22. R5C125 (step 3) = {279/378} -> R5C12 = {27/29/37/38/78}
22a. 23(4) cage at R5C1 = {2489/2579/2678/3479/3578} (other combinations don’t match with R5C12), no 1
22b. Deleted
23. 45 rule on N3 3 innies R2C7 + R3C79 = 1 outie R1C6 + 12
23a. R1C6 = {13} -> R2C7 = {13} -> R3C79 = 12 or R1C6 = {4579} -> min R3C79 = 13 -> no 1 in R3C7
23b. Max R2C7 + R3C79 = 20 -> no 9 in R1C6
[Maybe this is a version of Ed’s breakthrough step? Just spotted … Not elegant but powerful; it cracks the puzzle.]
24. R12C9 = [86] (cannot be [95] because R12C9 + R3C79 = [9568] clashes with R5C89; note than this only works after eliminating 6 from R1C78, forcing the 8 in this permutation to R3C9), clean-up: no 9 in R2C34, no 6,8 in R5C8 (step 2)
24a. R1C5 = 6, R2C5 = 4, R23C8 = [21], R2C67 = [13], clean-up: no 7 in R4C2, no 5 in R5C6, no 8 in R67C8, no 5 in R89C5, no 9 in R8C6
25. Naked pair {78} in R2C34, locked for R2
25a. Caged X-Wing for 7,8 in R2C34 and 24(3) cage at R6C3, no other 7,8 in C34
26. Naked pair {59} in R2C12, locked for N1 and 28(4) cage at R2C1, clean-up: no 3 in R4C2
26a. R2C12 = {59} = 14 -> R34C1 = 14 = {68}, locked for C1
27. Naked pair {59} in R5C89, locked for R5, N6 and 33(5) cage at R3C9, no 9 in R3C9 -> R5C7 = 2, R5C6 = 6, clean-up: no 3 in R4C89 (step 2a), no 8 in R46C6 (step 5)
27a. Naked pair {59} in R46C6, locked for C6 and N5, clean-up: no 4 in R7C8, no 7 in R8C7
27b. Naked pair {47} in R34C9, locked for C9 and 33(5) cage -> R4C8 = 8, R34C1 = [86], R2C34 = [78]
28. R3C2 = 6 (hidden single in N1), R4C2 = 2, R46C4 = [12], R7C5 = 1
28a. R3C5 = 5 (hidden single in C5), R3C34 = [43], R4C3 = 5, R34C9 = [74], R4C7 = 7, R4C5 = 3, clean-up: no 5 in R7C8, no 8 in R89C5
28b. Naked pair {36} in R67C8, locked for C8
29. R5C9 = 9 (hidden single in C9), R5C8 = 5
29a. R3C7 = 9, R1C8 = 4, R8C8 = 7, R9C8 = 9 -> R9C67 = 5 = [41], clean-up: no 2 in R8C5, no 3 in R8C6, no 5,8 in R8C7
30. 19(3) cage at R9C2 = {568} (only remaining combination) -> R9C2 = 8, R9C4 = 5, R9C3 = 6, R8C4 = 6, R8C3 = 2, R7C3 = 9
31. R9C1 = 7 (hidden single in R9), R5C12 = [37]
31a. R5C12 = [37] = 10 -> R67C2 = 13 = [94]
and the rest is naked singles.