Zero is in every row, column and nonet. One of 1-9 is missing in each row, column and nonet.
Prelims
a) R12C5 = {39/48/57}, no 0,1,2,6
b) R12C9 = {02}
c) R3C12 = {59/68}
d) R34C9 = {05/14/23}, no 6,7,8,9
e) R45C7 = {29/38/47/56}, no 0,1
f) R56C9 = {29/38/47/56}, no 0,1
g) R7C56 = {05/14/23}, no 6,7,8,9
h) R78C7 = {07/16/25/34}, no 8,9
i) R78C9 = {69/78}
j) R8C56 = {79}
k) R9C34 = {08/17/26/35}, no 4,9
l) R9C56 = {29/38/47/56}, no 0,1
m) 9(3) cage at R3C8 = {018/027/036/045/126/135/234}, no 9
n) 7(3) cage at R6C5 = {016/025/034/124}, no 7,8,9
o) 4(3) cage at R7C1 = {013}
p) 8(3) cage at R9C7 = {017/026/035/125/134}, no 8,9
1a. Naked pair {02} in R12C9, locked for C9 and N3, clean-up: no 3,5 in R34C9, no 9 in R56C9
1b. Naked pair {14} in R34C9, locked for C9, clean-up: no 7 in R56C9
1c. Naked pair {79} in R8C56, locked for R8 and N8, clean-up: no 0 in R7C7, no 6,8 in R7C9, no 0,2 in R8C34, no 2,4 in R9C56
1d. Naked triple {013} in 4(3) cage at R7C1, locked for N7, clean-up: no 6,8 in R8C4, no 6,8,9 in R9C12, no 5,8 in R9C4
1e. Killer pair 6,8 in R56C9 and R8C9, locked for C9
1f. R9C34 = {26}/[71/80] (cannot be [53] which clashes with R9C56), no 3,5
1g. 8(3) cage at R9C7 = {017/134} (cannot be {026} because R9C9 only contains 3,5,7, cannot be {035} which clashes with R9C56, cannot be {125} which clashes with R9C12), no 2,5,6, 1 locked for R9 and N9, clean-up: no 6 in R78C7, no 7 in R9C3
1h. R9C9 = {37} -> no 3,7 in R9C78
2a. 45 rule on N78, sum of two missing numbers = 14 = {59/68}
2b. Consider combinations for R9C56 = {38/56}
R9C56 = {38}, locked for R7 and N8 => R9C34 = {26}, locked for R9 => R9C12 = {45}, locked for N7 => R8C34 = [81] => R7C56 = {05}
or R9C56 = {56}
-> 5 in R79C56, locked for N8, clean-up: no 4 in R8C3
2c. R789C56 contain both of 5,9 -> missing numbers in N78 must be 6,8
2d. R9C56 contains one of 6,8 -> no other 6,8 in N8, clean-up: no 2 in R9C3
2e. R9C3 = {68} -> no other 6,8 in N7 -> R9C34 = [54], R9C12 = {27}, locked for R9 and N7, R9C34 = [80], R7C56 = {23}, locked for R7, R7C4 = 1, R7C1 = 0, R9C9 = 3, R9C78 = {14}, 4 locked for N9, R56C9 = {56}, locked for N6, 6 locked for C9, R8C9 = 8 -> R7C9 = 7, R7C7 = 5 -> R8C7 = 2, clean-up: no 9 in R45C7
[Cracked, fairly straightforward from here.]
2f. N9 must contain 0 -> R8C8 = 0, R67C8 = 15 = [96]
2g. 9(3) cage at R3C8 = {135/234}, no 7,8
2h. 9(3) cage = {234} (cannot be {135} because 5{13} combined with R4C9 = {14} clashes with R45C7), 3,4 locked for C8 -> R9C78 = [41], clean-up: no 7 in R45C7
2i. Naked pair {38} in R45C7, locked for C7, 3 locked for N6, naked pair {24} in R45C8, 4 locked for C8 and N6 -> R3C8 = 3, R34C9 = [41], R6C7 = 0
2j. Min R1C8 = 5 -> max R1C67 = 7, no 8,9 in R1C67, no 7 in R1C6 (because no 0 in R1C7)
2k. Min R2C8 = 5 -> max R2C67 = 8, no 8,9 in R2C67 (because no 0 in R2C7)
2l. 9 is already missing from N9 -> all other nonets must contain 9 -> R3C7 = 9, clean-up: no 5 in R3C12
2m. Naked pair {68} in R3C12, locked for R3 and N1
2n. R3C7 = 9 -> R3C56 = 8 = {17}, locked for R3 and N2, clean-up: no 5 in R12C5
2o. 11(3) cage at R4C1 = {128/146/236/245} (cannot be {137} which clashes with R8C1), no 7,9
2p. 9 already missing from C9 -> all other columns must contain 9 -> 9 in C1 only in R12C1, locked for N1
3a. R3C3 = 0 (hidden single 0 in R3) -> R4C23 = 15 = {69}/[87]
3b. R5C2 = 0 (hidden single 0 in N4)
3c. 45 rule on complete grid, taking into account that 1-9 are each missing in one nonet -> R1C1 + R5C2 = 9, R5C2 = 0 -> R1C1 = 9, clean-up: no 3 in R2C5
3d. R4C5 = 0 (hidden single 0 in C5) -> R45C6 = 17 = {89}, locked for N5, 9 locked for C6 -> R8C56 = [97], R3C56 = [71], clean-up: no 3 in R1C5
3e. Naked pair {48} in R12C5, locked for N2, 4 locked for C5
3f. 8 in R6 only in R6C12, locked for N4 -> R4C23 = {69}, locked for R4 and N4 -> R45C6 = [89], R45C7 = [38]
3g. 9 already missing from C9 -> C4 must contain 9 -> R2C4 = 9, R34C4 = 7 = {25}, locked for C4
4a. 18(3) cage at R6C2 = {378/468} (cannot be {567} which clashes with R6C9 -> R6C2 = 8, R6C34 = {37} (cannot be [46] because R6C349 = [465] clashes with 7(3) cage at R6C5), locked for R6
4b. 7(3) cage = [160]/{25}0, no 4, no 6 in R6C5
4c. Killer pair 5,6 in 7(3) cage and R6C9, locked for R6
4d. 11(3) cage at R4C1 (step 2o) = {245} (only remaining combination), locked for C1, 2,4 locked for N4 -> R9C12 = [72]
4e. 8 missing from C4 -> C1 must contain 8 -> R3C12 = [86], R4C23 = [96], R7C23 = [49]
4f. 13(3) cage at R5C3 = {157} (cannot be {256} because 2,5 only in R5C5) = [175], 18(3) cage = [873], R34C4 = [52], 7(3) cage = [160], R56C9 = [65], 9(3) cage at R3C8 = [342], 11(3) cage = [542], R9C56 = [65]
4g. 13(3) cage at R2C6 = {067/238/256} (cannot be {058} because R2C7 only contains 1,6,7, cannot be {157} because R2C6 only contains 0,2,3
4h. 12(3) cage at R2C1 = {147/345} (cannot be {237} which clashes with 13(3) cage) -> R2C3 = 4, R12C5 = [48]
4i. R1C4 = 6 -> R1C23 = 9 = [72], 12(3) cage = {345} = [354], R12C9 = [02], R8C12 = [13]
4j. R1C67 = [31] -> R1C8 = 8 (cage sum), 13(3) cage at R2C6 = [067], R7C56 = [32]