Prelims
a) R12C1 = {29/38/47/56}, no 1
b) R34C1 = {19/28/37/46}, no 5
c) R5C12 = {79}
d) R89C5 = {18/27/36/45}, no 9
e) R9C67 = {39/48/57}, no 1,2,6
f) R9C89 = {79}
g) 15(5) cage at R1C2 = {12345}
h) 35(5) cage at R2C5 = {56789}
i) 18(5) cage at R4C9 = {12348/12357/12456}, no 9
j) 16(5) cage at R7C8 = {12346}
k) 38(8) cage at R2C7 = {12345689}, no 7
l) And, of course, 45(9) cage at R3C3 = {123456789}
Steps resulting from Prelims
1a. Naked pair {79} in R5C12, locked for R5 and N4, clean-up: no 1,3 in R3C1
1b. Naked pair {79} in R9C89, locked for R9 and N9, clean-up: no 2 in R8C5, no 3,5 in R9C78
1c. Naked pair {48} in R9C67, locked for R9, clean-up: no 1,5 in R8C5
1d. 5 in N9 only in R7C79, locked for R7
1e. Naked quint {56789} in 35(5) cage at R2C5, CPE no 5,6,7,8,9 in R12C4
2. Killer quint 1,2,3,4,5 in R12C1 and 15(5) cage at R1C2, locked for N1, clean-up: no 6,8 in R4C1
2a. 1 in N1 only in 15(5) cage at R1C2 -> no 1 in R4C2
3. 45 rule on N2 2(1+1) outies R1C3 + R4C4 = 1 innie R3C6 + 10
3a. Max R1C3 + R4C4 = 18 -> max R3C6 = 8
4. 16(5) cage at R7C8 = {12346}, R9C67 = {48} -> caged X-Wing for 4, no other 4 in C6, N8 and N9, clean-up: no 5 in R9C5
5. 5 in N8 only inR89C4, locked for C4
5a. 35(5) cage at R2C5 = {56789}, 5 locked for N2
5b. Min R1C3 + R4C4 = 12 -> min R3C6 = 2 (step 3)
5c. 5 in R9 only in R9C1234, CPE no 5 in R8C23
5d. 6,8 in N4 only in R45C3 + R6C123, CPE no 6,8 in R6C5
6. 38(7) cage at R6C1 = {1256789/1346789/2345789}, 7,9 locked for N7
6a. 8 only in R6C1 + R7C12 + R8C23, CPE no 8 in R8C1
7. 12(3) cage in N7 = {156/246/345}
7a. 4 of {246/345} must be in R8C1 -> no 2,3 in R8C1
8. 35(6) cage at R6C2 = {146789/236789/245789/345689}, 9 locked for C4
8a. 35(5) cage at R2C5 = {56789}, 9 locked for N2
9. R1C3 + R4C4 = R3C6 + 10 -> R3C6 must be less than either of R1C3 and R4C4
9a. R1C3 and R4C4 cannot have the same value because they “see” all of N2 except for R3C6, which cannot equal either R1C3 or R4C4 -> R1C3 + R4C4 cannot be [66] = 12 -> no 2 in R3C6
10. 1,2,4 in N2 only in 20(5) cage at R1C3 = {12467}, 6,7 locked for R1, clean-up: no 4,5 in R2C1
11. R3C6 = 3 (hidden single in N2)
11a. R1C3 + R4C4 = R3C6 + 10 (step 3)
11b. R3C6 = 3 -> R1C3 + R4C4 = 13 = {67}, CPE no 6 in R4C4
12. 16(5) cage at R7C8 = {12346}, 3 locked for N9
13. 45 rule on N3 3 innies R2C7 + R3C78 = 14 = {149/158/248}, no 6
14. R6C7 = 7 (hidden single in C7)
14a. 18(5) cage at R4C9 = {12348/12456}, 4 locked for N6
15. R4C4 = 7 (hidden single in R4) -> R1C3 = 6 (step 11b), clean-up: no 5 in R1C1, no 4 in R4C1
15a. 5 in N1 only in 15(5) cage at R1C2 -> no 5 in R4C2
16. Killer triple 7,8,9 in R12C1, R3C1 and R5C1, locked for C1
16a. 38(7) cage at R6C1 = {1256789/1346789/2345789} -> R7C2 + R8C23 = {789}, 8 locked for N7
16b. Naked triple {789} in R578C2, 8 locked for C2 and N7
17. R38C3 = {79} (hidden pair in C3)
[I first saw the next step as a contradiction chain which showed that R4C2 cannot be 2, next I found a shorter contradiction chain
R12C1 = {29/38/47} cannot be {29}, here’s how
R12C1 = {29} => R34C1 = [73] clashes with R3C3 = 7
-> R12C1 = {38/47}, no 2,9
Later I found a more satisfying way to do it]
18. 8 in C1 only in R12C1 = {38} or R34C1 = [82] -> R12C1 = {38/47} (cannot be {29}, locking-out cages), no 2,9
18a. 2 in N1 only in 15(5) cage at R1C2 -> no 2 in R4C2
18b. 9 in N1 only in R3C13, locked for R3
18c. 9 in N2 only in R2C56, locked for R2
19. R2C7 + R3C78 (step 13) = {158/248}, 8 locked for N3 and 38(7) cage at R2C7, no 8 in R4C567 + R5C6
20. R1C1 = 8 (hidden single in R1), R2C1 = 3, clean-up: no 7 in R3C1, no 2 in R4C1
20a. 15(5) cage at R1C2 = {12345} -> R4C2 = 3
21. R34C1 = [91], R5C12 = [79], R3C3 = 7, R8C3 = 9
22. 12(3) cage in N7 (step 7) = {156} (cannot be {246} which clashes with R7C1) -> R9C2 = 1, R89C1 = {56}, locked for C1 and N7, clean-up: no 8 in R8C5
23. 38(7) cage at R6C1 (step 16a) = {2345789} (only remaining combination) -> R9C3 = 3, R9C4 = 5, R89C1 = [56], R9C5 = 2, R8C5 = 7, R78C2 = [78]
23a. Naked pair {24} in R7C13, locked for R7
23b. R1C6 = 7 (hidden single in R1)
23c. 2 in N2 only in R12C4, locked for C4
24. Naked triple {245} in R123C2, locked for C2 and N1 -> R2C3 = 1, R6C2 = 6
24a. 1 in N2 only in R1C45, locked for R1
25. 38(8) cage at R2C7 = {12345689}, 9 locked for R4
25a. R4C7 = 9 (hidden single in N6
25b. 38(8) cage at R2C7 = {12345689}, 6 locked for N5
26. 2 in 45(9) cage at R3C3 only in R45C3, locked for C3 and N4 -> R67C1 = [42], R7C3 = 4
27. 35(6) cage at R6C2 (step 8) = {345689} (only remaining combination) -> R8C4 = 3, R6C3 = 5, R67C4 = {89}, locked for C4 -> R3C4 = 6
27a. R7C8 = 3 (hidden single in R7)
28. Naked pair {28} in R45C3, locked for 45(9) cage at R3C3, no 8 in R5C5 + R7C567
28a. 5 in 45(9) cage only in R5C5 + R7C7, CPE no 5 in R5C7
29. R67C4 = {89}, 9 in 45(9) cage at R3C3 only in R6C5 + R7C56 -> caged X-Wing for 9 in R67, no other 9 in R6
[Alternatively this elimination of 9 from R6C6 can be made using 9 in R2 only in R2C56 with a caged X-Wing in C56.]
30. 28(5) cage at R4C8 = {25678} (only remaining combination containing 7 but neither of 4,9), 5,6 locked for N6, 5 also locked for C8, CPE no 2,8 in R6C89 -> R6C89 = [13], R6C5 = 9, R67C4 = [89], R6C6 = 2
31. Naked pair {16} in R7C56, locked for R7, N8 and 45(9) cage at R3C3 -> R7C7 = 5
and the rest is naked singles.