Prelims
a) 13(2) cage at R1C2 = {49/58/67}, no 1,2,3
b) R1C34 = {49/58/67}
c) R1C67 = {29/38/47/56}, no 1
d) 11(2) cage at R1C8 = {29/38/47/56}, no 1
e) R2C34 = {29/38/47/56}, no 1
f) R2C67 = {19/28/37/46}, no 5
g) R34C1 = {16/25/34}, no 7,8,9
h) R34C2 = {59/68}
i) 7(2) cage at R3C3 = {16/25/34}, no 7,8,9
j) 15(2) cage at R3C4 = {69/78}
k) R34C5 = {18/27/36/45}, no 9
l) 8(2) cage at R3C6 = {17/26/35}, no 4,8,9
m) 12(2) cage at R3C7 = {39/48/57}, no 1,2,6
n) R34C8 = {17/26/35}, no 4,8,9
o) R34C9 = {19/28/37/46}, no 5
p) R5C34 = {17/26/35}, no 4,8,9
q) R5C67 = {17/26/35}, no 4,8,9
r) R67C1 = {79}
s) R67C2 = {14/23}
t) 9(2) cage at R6C3 = {18/27/36/45}, no 9
u) 8(2) cage at R6C4 = {17/26/35}, no 4,8,9
v) R67C5 = {69/78}
w) 13(2) cage at R6C6 = {49/58/67}, no 1,2,3
x) 11(2) cage at R6C7 = {29/38/47/56}, no 1
y) R67C8 = {15/24}
z) R67C9 = {16/25/34}, no 7,8,9
aa) 7(2) cage at R8C1 = {16/25/34}, no 7,8,9
bb) R8C34 = {79}
cc) R8C67 = {17/26/35}, no 4,8,9
dd) 7(2) cage at R8C9 = {16/25/34}, no 7,8,9
ee) R9C34 = {12}
ff) R9C67 = {18/27/36/45}, no 9
Steps resulting from Prelims
1a. Naked pair {79} in R67C1, locked for C1, clean-up: no 4,6 in R1C2
1b. Naked pair {79} in R8C34, locked for R8, clean-up: no 1 in R8C67
1c. Naked pair {12} in R9C34, locked for R9, clean-up: no 5,6 in R8C1, no 5,6 in R8C9, no 7,8 in R9C67
1d. Naked pair {79} in R7C1 + R8C3, locked for N7, clean-up: no 1 in R6C6
2. Naked quad {3456} in R9C2678, locked for R9 -> R9C1 = 8, clean-up: no 5 in R1C2
2a. Naked pair {79} in R8C4 + R9C5, locked for N8, clean-up: no 2 in R6C3, no 6,8 in R6C5, no 2,4 in R6C7
2b. Naked pair {79} in R69C5, locked for C5, clean-up: no 2 in R34C5
2c. Naked pair {79} in R6C15, locked for R6, clean-up: no 1 in R7C3, no 2 in R7C4, no 2,4 in R7C6, no 4,6 in R7C7
3. 45 rule on R89 5(3+2) innies R8C258 + R9C59 = 32, R9C59 = {79} = 16 -> R8C258 = 16 = {268/358}, no 1,4
3a. R8C19 = {14} (hidden pair in R8) -> R9C28 = {36}, locked for R9
4. 9(2) cage at R6C3 = {18/45} (cannot be {36} which clashes with 8(2) cage at R6C4), no 3,6
5. 13(2) cage at R6C6 = [49/67] (cannot be {58} which clashes with 11(2) cage at R6C7), no 5,8
[Alternatively hidden killer pair 7,9 in R7C17 -> R7C7 = {79}, but I only spotted that after I saw the crossover clash.]
6. R8C8 = 8 (hidden single in N9), clean-up: no 3 in R2C9
7. Hidden killer triple 7,8,9 in R1C2, R25C2 and R34C2 for C2, R1C2 = {789}, R34C2 contains one of 8,9 -> R25C2 , must contain one of 7,8,9
7a. R67C2 = {14} (cannot be {23} because R25C2 cannot contain both of 1,4), locked for C2
7b. Double killer pair 1,4 in R67C2, 9(2) cage at R6C3 and R67C8 for R67, no other 1,4 in R67 -> R6C6 = 6, R7C7 = 7, R67C1 = [79], R8C34 = [79], R9C59 = [79], R6C5 = 9 -> R7C5 = 6, clean-up: no 4 in R1C3, no 6 in R1C4, no 4 in R1C6, no 5 in R1C7, no 2 in R1C8, no 2 in R2C3, no 4 in R2C4, no 3 in R2C6, no 4 in R2C7, no 1 in R3C3, no 8 in R3C4, no 3 in R34C5, no 1 in R3C6, no 3 in R3C7, no 1 in R34C9, no 6 in R4C3, no 5 in R4C6, no 2 in R4C7, no 2 in R5C3, no 1 in R5C4, no 1 in R5C6, no 2 in R5C7, no 2 in 8(2) cage at R6C4, no 5 in 11(2) cage at R6C7, no 3 in R67C9, no 2 in R8C7
7c. Naked pair {25} in R67C9, locked for C9, clean-up: no 6,9 in R1C8, no 8 in R34C9
8. X-Wing for 5 in 8(2) cage at R6C4 and R67C9, no other 5 in R67, clean-up: no 4 in 9(2) cage at R6C3, no 1 in R67C8
8a. Naked pair {24} in R67C8, locked for C8, clean-up: no 7 in R2C9, no 6 in R34C8
8b. R8C9 = 1 (hidden single in N9) -> R9C8 = 6, 7(2) cage at R8C1 = [43], R67C2 = [41], R67C8 = [24], R67C9 = [52], 8(2) cage at R6C4 = [35], 11(2) cage at R6C7 = [83], 9(2) cage at R6C3 = [18], R9C34 = [21], R9C67 = [45], R8C7 = 3 -> R8C6 = 5, R8C25 = [62], clean-up: no 9 in R1C2, no 8 in R1C6, no 6 in R1C7, no 3,8 in R2C3, no 6 in R2C4, no 2,7 in R2C6, no 6 in R2C7, no 3,6 in R3C1, no 8 in R34C2, no 4,6 in R3C3, no 9 in R3C7, no 3 in R3C8, no 3 in R4C1, no 2,5 in R4C4, no 7 in R4C6, no 7 in R5C4
8c. 7(2) cage at R3C3 = [34], 12(2) cage at R3C7 = [48]
8d. R5C3 = 6 -> R5C4 = 2
8e. R4C3 = 9 -> R3C4 = 6
and the rest is naked singles.