Prelims
a) R23C2 = {17/26/35}, no 4,8,9
b) R45C2 = {29/38/47/56}, no 1
c) R5C34 = {39/48/57}, no 1,2,5
d) R5C67 = {59/68}
e) R56C8 = {29/38/47/56}, no 1
f) R78C8 = {49/58/67}, no 1,2,3
g) 10(3) cage at R2C5 = {127/136/145/235}, no 8,9
h) 20(3) cage at R7C1 = {389/479/569/578}, no 1,2
i) 9(3) cage at R9C1 = {126/135/234}, no 7,8,9
j) 20(3) cage at R9C4 = {389/479/569/578}, no 1,2
k) 32(5) cage at R1C1 = {26789/35789/45689}, no 1
l) 28(7) cage at R5C1 = {1234567}, no 8,9
m) and, of course, 45(9) cage at R3C1 = {123456789}
1. 32(5) cage at R1C1 = {26789/35789/45689}, CPE no 8,9 in R2C1
2. 45 rule on R1 2 outies R2C34 = 14 = {59/68}
3. 45 rule on R9 2 outies R8C67 = 10 = {19/28/37/46}, no 5
4. 45 rule on N2 3 innies R2C46 + R3C6 = 23 = {689}, locked for N2, clean-up: no 9 in R2C3 (step 2)
4a. 9 of {689} must be in R2C46 (R2C46 cannot total 14, which clashes with R2C45, CCC), locked for R2 and N2
5. R3C6 = {68} -> 31(7) cage at R3C6 = {1234678} (only remaining combination), no 5,9
6. 45 rule on N3 1 outie R2C6 = 1 innie R3C7 -> R2C6 = R3C7 = {68}
6a. Naked pair {68} in R23C6, locked for C6 and N2 -> R2C4 = 9, R2C3 = 5, clean-up: no 3 in R23C2, no 3 in R5C3, no 7 in R5C4, no 6,8 in R5C7, no 2,4 in R8C7 (step 3)
6b. Naked pair 6,8 in R3C67, locked for R3 and 31(7) cage at R3C6, no 6,8 in R4C789 + R5C9, clean-up: no 2 in R2C2
6c. Naked pair {59} in R5C67, locked for R5, clean-up: no 2,6 in R4C2, no 7 in R5C3, no 3 in R5C4, no 2,6 in R6C8
6d. Naked pair {48} in R5C34, locked for R5, clean-up: no 3,7 in R4C2, no 3,7 in R6C8
6e. 31(7) cage at R3C6 = {1234678}, 4 locked for R4, clean-up: no 7 in R5C2
6f. 8 in N6 only in R6C789, locked for R6
7. R2C34 = [59] -> 32(5) cage at R1C1 = {35789/45689}, no 2, 8 locked for R1
7a. Killer pair 6,7 in 32(5) cage and R23C2, locked for N1
8. 9 in R1 only in 15(3) cage at R1C7, locked for N3
8a. 15(3) cage = {159/249}, no 3,6,7
8b. 12(3) cage at R1C4 = {237} (only remaining combination, cannot be {147/345} which clash with 15(3) cage), locked for R1 and N2
8c. Naked triple {468} in R1C123, locked for R1 and N1, clean-up: no 2 in R3C2
8d. Naked pair {17} in R23C2, locked for C2 and N1
8e. Naked triple {159} in 15(3) cage at R1C7, locked for N3
9. 45 rule on N1 1 remaining outie R4C1 = 1 innie R3C3 + 3 -> R3C3 = {23}, R4C1 = {56}
9a. R3C1 = 9 (hidden single in N1)
9b. R45C2 = [83/92] (cannot be [56] which clashes with R4C1), no 5,6
9c. 9 in N4 only in R4C23, locked for R4
10. 14(3) cage at R2C9 = {248/347}, no 6, 4 locked for N3
10a. 8 of {248} must be in R2C9 -> no 2 in R2C9
11. 1 in R2 only in R2C25
11a. 45 rule on R12 4 innies R2C1259 = 15 = {1248/1347}
11b. R2C1 = {23} -> no 3 in R2C9
12. 45 rule on N7 1 outie R8C4 = 1 innie R7C3, no 5,8 in R8C4
13. Caged X-Wing for 4 in 45(9) cage at R3C3 and 28(7) cage at R5C1 in R67, no other 4 in R67, clean-up: no 7 in R5C8, no 9 in R8C8
14. Caged X-Wing for 5 in 45(9) cage at R3C3 and R5C67 in C7 + N5, no other 5 in C7 + N5
15. 20(3) cage at R7C1 = {389/479/578} (cannot be {569} which clashes with R4C1), no 6
15a. 9 of {389} must be in R7C2 -> no 3 in R7C2
16. 1 in C1 only in R569C1, CPE no 1 in R7C3, clean-up: no 1 in R8C4 (step 12)
17. 45 rule on N8 3 innies R7C4 + R8C46 = 13 = {139/157/247/256/346}
17a. 1 of {139} must be in R7C4, 3 of {346} must be in R8C46 (R8C46 cannot total 10 which clashes with R8C67, CCC), no 3 in R7C4
18. Caged X-Wing for 4 in 28(7) cage at R5C1 and R5C34 in C4 + N4, no other 4 in C4, clean-up: no 4 in R7C3 (step 12)
19. Naked triple {145} in 10(3) cage at R2C5, 4 locked for C5
20. 45 rule on N7 3 innies R7C3 + R8C23 = 16 = {169/268/349/358/457} (cannot be {178/259/367} which clash with 20(3) cage at R7C1)
20a. 2 of {268} must be R78C3 (R78C3 cannot be [68] which clashes with R15C3, ALS block), no 2 in R8C2
20b. 3 of {349/358} must be in R7C3 -> no 3 in R8C23
20c. 7 of {457} must be in R7C3 -> no 7 in R8C3
21. 4 in N8 only in R7C4 + R8C46 (step 17) = {247/346} and 20(3) cage at R9C4 = {479} -> R7C4 + R8C46 = {139/247/256/346} (cannot be {157}, locking-out cages)
21a. 12(3) cage at R7C5 = {129/138/156} (cannot be {237} which clashes with R7C4 + R8C46), no 7, 1 locked for N8, clean-up: no 9 in R8C7 (step 3)
21b. R7C4 + R8C46 = {247/256/346}, no 9, clean-up: no 1 in R8C7 (step 3)
[There ought to be a better way forward but the only way I could see to make progress was …]
22. R7C4 + R8C46 (step 21b) = {247/256/346}
22a. Consider placements for R8C6
R8C6 = 2 => R8C7 = 8 (step 3) => 8 in R9 only in 20(3) cage at R9C4 = {389/578}, no 4
or R8C6 = {347} => R7C4 + R8C46 = {247/346}, 4 locked for N8
-> 20(3) cage at R9C4 = {389/569/578}, no 4
22b. 4 in N8 only in R7C4 + R8C6 -> R7C4 + R8C46 = {247/346}, no 5
[The rest is fairly straightforward]
23. 28(7) cage at R5C1 = {1234567}, 5 locked for N4 -> R4C1 = 6, R2C1 = 2 (cage sum), R3C3 = 3, clean-up: no 3 in R8C4 (step 12)
23a. 3,6 in R2 only in 16(3) cage at R2C6 = {367} -> R2C6 = 6, R2C78 = {37}, locked for R2 and N3, R23C2 = [17], R2C5 = 4, R3C67 = [86], clean-up: no 4 in R8C6 (step 3)
24. R7C4 = 4 (hidden single in N8), R5C34 = [48]
25. 45(9) cage at R3C3 = {123456789}, 6 locked for C5
25a. 12(3) cage at R8C5 (step 21a) = {129/138}, no 5
26. 5 in N8 only in 20(3) cage at R9C4, locked for R9
26a. 20(3) cage (step 22a) = {569/578}, no 3
26b. 9(3) cage at R9C1 = {126/234}, 2 locked for R9 and N7, clean-up: no 2 in R8C4 (step 12)
27. R7C3 + R8C23 (step 20) = {169} (only remaining combination, cannot be {457} because 4,5 only in R8C2) -> R7C3 = 6, R8C23 = [91], R8C4 = 6 (cage sum), R8C6 = 3 (step 22b), R8C7 = 7 (step 3), R2C78 = [37], R4C2 = 8, R5C2 = 3, clean-up: no 8 in R6C8
28. Naked triple {234} in 9(3) cage at R9C1, locked for R9 and N7
29. R7C1 = 7 (hidden single in N7), R56C1 = [15], R6C8 = 9, R5C8 = 2
and the rest is naked singles.