Thanks Afmob for pointing out that my original step 10a was incorrect. I've re-worked that area, using a simpler step which I ought to have spotted when I originally solved this puzzle.
Prelims
a) R1C89 = {15/24}
b) R2C89 = {59/68}
c) R45C5 = {29/38/47/56}, no 1
d) R4C78 = {14/23}
e) R9C12 = {29/38/47/56}, no 1
f) R9C67 = {16/25/34}, no 7,8,9
g) 21(3) cage at R5C2 = {489/579/678}, no 1,2,3
h) 26(4) cage at R1C1 = {2789/3689/4589/4679/5678}, no 1
i) 17(5) cage at R2C2 = {12347/12356}, no 8,9
j) 18(5) cage at R2C4 = {12348/12357/12456}, no 9
[17(5) cage at R2C2 and 21(3) cage at R5C2 almost form a combined cage, but there’s the possibility that R23C2 and R6C1 may contain the same value, since these cells don’t ‘see’ each other.]
1. 45 rule on N9 3 outies R7C56 + R9C7 = 8 = {125/134}, 1 locked for N8, clean-up: no 1 in R9C7
2. 45 rule on R789 2 innies R7C34 = 17 = {89}, locked for R7
2a. 45 rule on R789 2 outies R56C4 = 6 = {15/24}
2b. 45 rule on N89 2 innies R78C4 = 13 = [85/94]
2c. Killer pair 4,5 in R56C4 and R8C4, locked for C4
2d. Killer pair 4,5 in R8C4 and R7C56 + R9C7, locked for N8
3. 45 rule on N7 3 innies R789C3 = 19 = {289/379/469/478/568}, no 1
4. 45 rule on N14 3 innies R123C3 = 10 = {127/136/145/235}, no 8,9
4a. 45 rule on N14 3 outies R1C45 + R2C5 = 22 = {589/679}, 9 locked for N2
5. 18(5) cage at R2C4 = {12348/12357} (cannot be {12456} which clashes with R56C4), no 6
6. 45 rule on N4 3 innies R4C12 + R5C1 = 8 = {125/134}, 1 locked for N4
6a. R4C12 + R5C1 = {125/134} -> R2C23 = {27/36}
6b. R4C12 + R5C1 must be {15}2/{25}1/{14}3 (other combinations clash with R4C78), no 3 in R4C12, no 4,5 in R5C1
6c. Killer pair 1,2 in R4C12 and R4C78, locked for R4, clean-up: no 9 in R5C5
6d. 18(5) cage at R2C4 (step 5) = {12348/12357}, 1,2 locked for N2
7. 45 rule on N3 2 outies R12C6 = 1 innie R3C9 + 8
7a. Max R12C6 = 13 (R12C6 cannot be {68/78} which clash with R1C45 + R2C5) -> max R3C9 = 5
7b. 7 in N3 only in R123C7 + R3C8, locked for 33(6) cage at R1C6, no 7 in R12C6
8. 33(6) cage at R1C6 contains 7 = {135789/234789/245679/345678} (cannot be {126789} which clashes with R1C89)
8a. 33(6) cage = {135789/234789/245679} (cannot be {345678} which would have 4,5 in R12C6 because of R2C89 = {59}, R1C89 = {24}, clashing with 18(5) cage at R2C4), 9 locked for N3, clean-up: no 5 in R2C89
8b. Naked pair {68} in R2C89, locked for R2 and N3, clean-up: no 3 in R3C2 (step 6a)
8c. Killer pair 1,2 in R1C89 and 33(6) cage, locked for N3
8d. 6,8 of 33(6) cage only in R1C6 -> R1C6 = {68}
8e. Killer pair 6,8 in R1C6 and R1C45 + R2C5, locked for N2
8f. 6,8 in N2 only in R1C456, locked for R1
9. R3C1 = 8 (hidden single in N1), clean-up: no 3 in R9C2
9a. 26(4) cage at R1C1 = {2789/4589}, no 3
[Afmob pointed out that my original step 10a, using hidden killer triple 3,4,5 in N2, was incorrect because of the possibility that R1C45 + R2C5 could contain 5, so I’ll re-work this part.]
R12C6 = R3C9 + 8 (step 7), R3C9 = {345} -> R12C6 = 11,12,13 = [83/84/85] (cannot be [65] which clashes with R1C45 + R2C5) -> R1C6 = 8, R1C45 + R2C5 (step 4a) = {679}, locked for N2 and R123C3, no 6,7 in R123C3.
10. 18(5) cage at R2C4 (step 5) = {12348/12357}
10a. 7,8 only in R4C4 -> R4C4 = {78}
10b. Deleted
10c. 18(5) cage = {12348/12357}, 3 locked for N2
11. Deleted
11a. R12C6 = R3C9 + 8 (step 7), R1C6 = 8 -> R2C6 = R3C9 -> R3C9 = {45}
12. 1 in N1 only in R123C3 (step 4) = {145} (only remaining combination), locked for C3 and N1
12a. R23C2 = [36] (hidden pair in N1), locked for 17(5) cage at R2C2 -> R4C12 + R5C1 (step 6) = {125}, locked for N4, 5 also locked for R4, clean-up: no 6 in R5C5, no 5 in R9C1
12b. 2 in C3 only in R789C3 (step 3) = {289} (only possible combination), locked for C3 and N7, clean-up: no 3 in R9C1
12c. Naked triple {367} in 16(3) cage at R4C3, locked for N4
12d. Deleted
[So 17(5) cage at R2C2 and 21(3) cage at R5C2 do happen to form a combined cage, but this didn’t necessarily follow from the starting position.]
13. 18(3) cage at R3C9 = {459/567} (cannot be {189/279/369/378} because R3C9 only contains 4,5, cannot be {468} which clashes with R2C9), no 1,2,3,8, 5 locked for C9, clean-up: no 1 in R1C8
14. R1C7 = 3 (hidden single in R1), clean-up: no 2 in R4C8, no 4 in R9C6
15. Killer pair 1,2 in R2C4 and R56C4, locked for C4 -> R3C4 = 3
16. 2 in R7 only in 26(6) cage at R7C5 = {123479/123569/123578/124568}
16a. 8,9 only in R8C7 -> R8C7 = {89}
16b. 26(6) cage = {123479/123569/123578/124568}, 1 locked for R7
17. Naked quad {2679} in R1C1245, locked for R1, clean-up: no 4 in R1C89
17a. R1C89 = [51], R1C3 = 4
17b. R3C9 = 4 -> 18(3) cage at R3C9 (step 13) = {459} -> R45C9 = [95], clean-up: no 6 in R4C5, no 2 in R5C5, no 1 in R6C4 (step 2a)
17c. R2C6 = 4 (hidden single in N2)
17d. R2C3 = 5 (hidden single in R2), R3C3 = 1
17e. Naked pair {25} in R3C56, locked for R3 and N2 -> R2C4 = 1, clean-up: no 5 in R6C4 (step 2a)
17f. Naked pair {24} in R56C4, locked for C4 and N5 -> R8C4 = 5, R89C3 = 10 = {28}, locked for C3 -> R7C34 = [98], R4C4 = 7, clean-up: no 2 in R9C7
18. Naked pair {38} in R45C5, locked for C5 and N5
18a. R4C6 = 6, R5C6 + R6C56 = {159} = 15 -> R5C78 = 9 = {27}, locked for R5 and N6, clean-up: no 3 in R4C8
18b. Naked pair {14} in R4C78, locked for R4 and N6
18c. R2C7 = 2 (hidden single in N3) -> R5C78 = [72], R3C78 = [97], R8C7 = 8, R6C7 = 6, clean-up: no 1 in R9C6
19. R9C8 = 1 (hidden single in R9)
19a. Naked pair {45} in R79C7, locked for C7 and N9
19b. R8C8 = 9 (hidden single in N9)
19c. R89C8 = [91] = 10 -> R89C9 = 10 = {37}
20. 6,7 in N8 only in 24(4) cage at R8C5 = {2679}, locked for N8 -> R9C6 = 3, R9C7 = 4
and the rest is naked singles.