Zero is in every row, column and nonet. One of 1-9 is missing in each row, column and nonet.
The four zero cells form a disjoint cage.
Prelims
a) R23C9 = {39/48/57}, no 0,1,2,6
b) R3C12 = {59/68}
c) 6(2) cage at R5C6 = {06/15/24}, no 3,7,8,9
d) R89C2 = {19/28/37/46}, no 0,5
e) R9C89 = {08/17/26/35}, no 4,9
f) 20(3) cage at R1C4 = {389/479/569/578}, no 0,1,2
g) 19(3) cage at R1C6 = {289/379/469/478/568}, no 0,1
h) 9(3) cage at R5C8 = {018/027/036/045/126/135/234}, no 9
1a. 20(3) cage at R1C4 and 19(3) cage at R1C6 form combined 39(6) cage = {456789}, locked for N2
1b. 0 in N2 only in R3C456, locked for R3
1c. 0 in N1 must be in one of the 14(3) cages = {059/068} -> naked quint {05689} for that 14(3) cage and R3C12, locked for N1
1d. The other 14(3) cage in N1 cannot contain any of 0,5,6,8,9 = {347} (only possible combination), locked for N1, no 1,2 in either of the 14(3) cages
1e. Caged X-Wing, one of the 14(3) cages contains 4,7 in R12, combined 39(6) cage contains 4,7 in R12 -> no 4,7 in R12C789, clean-up: no 5,8 in R3C9
1f. Naked quad {0123} in R3C3456, locked for R3, clean-up: no 9 in R2C9
1g. R3C456 = {013/023} = 4,5 -> R4C4 = {78}
1h. N1 and N2 must each be missing one of 1,2 -> 1,2 must be in all other nonets
2a. 45 rule on N3 cages total 34 -> min R1C9 = 2
2b. 45 rule on N7 cages total 34 -> min R7C2 = 2
2c. 45 rule on N9 cages total 28 -> R9C7 = {89} and missing number must be one of 8,9 -> no other 8,9 in N9, clean-up: no 0 in R9C89
2d. 45 rule on N8 total of cages at R8C4 and R8C5 = 23 -> R7C456 must total at least 13 -> max R6C6 = 3
2e. 45 rule on N4 cages total 45 -> R6C4 must equal whichever number is missing from N4, which must contain 0,1,2 -> R6C4 = {3456789}
2f. 45 rule on N6 cages total 45 -> R4C6 must equal whichever number is missing from N6, which must contain 0,1,2 -> R4C6 = {3456789}
2g. N5 must contain all of 0,1,2, 15(3) cage at R4C6 and 6(2) cage at R5C6 can each only contain one of 0,1,2 -> R6C6 = {012} (only other position for one of 0,1,2)
3a. One of the 14(3) cages in N1 = {059/068} and the other {347} (steps 1c and 1d), combined 39(6) cage in N2 (step 1a) = {456789}
3b. Consider permutations for R23C9 = [39/57/84]
R23C9 = [39] => R3C12 = {68}
or R23C9 = [57] => one 11(3) cage in N3 must be {029/038} and the other {146} (cannot be {128/236} which clash with the first cage), Caged X-Wing for 6 in combined 39(6) cage and 11(3) cage = {146}, no other 6 in R12 => 6 in N1 only in R3C12 = {68}
or R23C9 = [84] => 8 in N2 only in R1C456, locked for R1 => 8 in N1 only in R3C12 = {68}
-> R3C12 = {68}, locked for R3 and N1
3c. 14(3) cages in N1 are now {059} and {347}, Caged X-Wing for 5,9 in that 14(3) cage and combined 39(6) cage, no other 5,9 in R12, clean-up: no 7 in R3C9
3d. 11(3) cages in N3 now {029/056} (cannot be {038} which clashes with R2C9, cannot be {047} because 4,7 only in R3) and {137} (cannot be {128} because no 1,2,8 in R3, cannot be {146} because combined with {029} clashes with R3C9, cannot be {236} which clashes with the other cage, cannot be {245} because 4,5 only in R3), 3,7 locked for N3 -> R23C9 = [84]
3e. 360 rule on whole grid (rather than the Sudoku regular 405 because each of 1-9 missing), cages total 339 -> the four zero cells total 21 and form a disjoint cage, cannot total 21 with R1C9 = 2 and R3C3 = 1 -> R1C9 = 6, clean-up: no 5 in 11(3) cages, no 6 in R7C2 (disjoint cage), no 2 in R9C8
3f. 5 missing from N3, must be in all other nonets
3g. R1C9 = 6 -> R3C3 + R7C2 + R9C7 = 15 = [159/249/258] -> R7C2 = {45}
3h. 45 rule on N7 cages total 34 -> R7C2 + missing number total 11 = [4 + missing 7]/[5 + missing 6]
3i. R89C2 = {19/28/37} (cannot be {46} which clashes with R7C2 + missing number), no 4,6
3j. 12(3) cages in N7 = {039/048/129/147/156/237} (cannot be {057/246} which clash with R7C2 + missing number, cannot be {138} which clashes with R89C2, cannot be {345} which clashes with R7C2), also 12(3) cage at R7C3 cannot be {129} which clashes with R3C3
3m. Possible groupings which must include 0,1,2,5, starting with R89C2, then the two 12(3) cages and R7C2, {19}{048}{237}5, {28}{039}{147/156}{45}, {37}{048}{129}5
3n. One of 6,7 missing from N7
4a. 11(3) cage at R1C7 = {029/137}
4b. 24(4) cage at R4C6 cannot contain 0 because 7{089} clashes with R9C7, 8{079} clashes with 11(3) cage and 9{078} clashes with 11(3) cage + R9C7 (ALS block), no 0 in R456C7
4c. 24(4) cage cannot contain 1 because 6{189} clashes with R9C7, 8{169} clashes with 11(3) cage and 9{168} clashes with 11(3) cage + R9C7 (ALS block), no 1 in R456C7
4d. C7 must contain both of 0,1, one of the 10(3) cages in N9 must be {037/046} with the latter only {46}0
4e. Consider combinations for 11(3) cage at R1C7
11(3) cage = {029}, locked for C7 => 1 in R78C7, locked for N9
or 11(3) cage = {137}, locked for C7 => 0 in R78C7 => one of the 10(3) cages must be 0{37}, locked for N9
-> R9C89 = [35/53/62], no 1,7
4f. The 10(3) cages must contain both of 0 and 1 -> {037}/{46}0 and {127/145} (cannot be {136} which clashes with R9C89), {145} can only be in R8 because R7C2 = {45}
4g. Consider combinations for 11(3) cage at R1C7
11(3) cage = {029}, locked for C7
or 11(3) cage = {137}, 0 in R78C7 => one of the 10(3) cages = 0{37} => the other 10(3) cage = {145}
-> no 2 in R78C7
4h. C7 must contain 2
4i. 11(3) cage = {029}, locked for C7
or 11(3) cage = {137}, locked for C7, 0 in R78C7 and one of 4,5 in R78C7 (step 4f) => 2 in 24(4) cage = 7{269}/8{259} (cannot be 5{289} which clashes with R9C7, cannot be 9{258} which leaves 6 missing from R456C7 and thus N6 but whichever number is missing from N6 must be in R4C6, step 2f), 9 locked for C7
-> R9C7 = 8, 9 missing from N9, must be in all other nonets, clean-up: no 2 in R8C2
4j. N4 must contain 5,9 -> no 5,9 in R6C4 (step 2e)
4k. N6 must contain 5,9 -> no 5,9 in R4C6 (step 2f)
4l. 9 in N5 only in 15(3) cage = {069/159/249}, no 3,7,8
4m. 45 rule on N8 contains 9 -> cells in N8 must total at least 37, total of 16(3), 13(3) and 10(3) cells is 39 -> R6C6 = {12}, missing number in N8 one of 7,8
4n. 0 in N5 only in 15(3) cage = {069} or 6(2) cage = {06}, 6 locked for N5 (locking cages)
4o. R3C3 + R7C2 + R9C7 (step 3g) = [258] (only remaining combination) -> R3C3 = 2. R7C2 = 5, 1 missing from N1, 2 missing from N2, 6 missing from N7
4p. R3C456 = {013} = 4 -> R4C4 = 8 (cage sum)
[It gets a bit easier now but still resists to the end, as did Rainbow Killer 6-4.]
5a. 24(4) cage at R4C6 = {2679/3579/4569}, 9 locked for R7 and N6 -> R3C7 = 7, R12C7 = 4 = {13}, locked for C7 and N3, R12C8 = {02}, locked for C8, R3C8 = 9
5b. 24(4) cage = {2679/4569} (cannot be {3579} because 3,7 only in R4C6), no 3, 6 locked for C7 and N6
5c. R4C6 = {47} -> no 4 in R456C7
5d. 0 in C7 only in R78C7 -> one of the 10(3) cages in N7 must be {037} (cannot be {046} = {46}0) -> the other 10(3) cage = {145} must be in R8 -> 10(3) cage at R8C7 = {145}, locked for R8 and N9, clean-up: no 9 in R9C2, no 3 in R9C89
5e. R9C89 = [62] -> R7C7 = 0, R7C89 = {37}, locked for R7, clean-up: no 8 in R8C2
5f. 2 in C7 only in 24(4) cage = {2679} -> R4C6 = 7, R456C7 = {269}
5g. 7 missing from N6, 7 must be in all the other nonets -> 8 missing from N8 (step 4m)
5h. Cells in N8 total 37, 16(3), 13(3) and 10(3) cages in N8 total 39 -> R6C6 = 2, clean-up: no 4 no 4 in 6(2) cage at R5C6
5i. 15(3) cage at R4C5 = {069/159}, no 4
5j. R6C6 = 2 -> R7C456 = {149}, locked for R7 and N8 -> R7C3 = 8, R89C3 = 4 = [04] (cannot be {13} which clashes with R89C2)
5k. R7C1 = 2 -> R89C1 = 10 = {37}/[91]
5l. 1 in C3 only in R456C3, locked for N4
5m. 20(4) at R4C3 = {1379/1469}, no 5, 9 locked for C3 and N4
5n. R6C4 = {34} -> no 3 in R456C3
5o. 5 in C3 only in R12C3, locked for C3
6a. 8 in N6 only in 9(3) cage at R5C8 = {018} -> R6C9 = 0, R56C8 = {18}, 1 locked for C8 and N6, clean-up: no 6 in R5C6
6b. Naked pair {35}, locked for C9 and N6 -> R4C8 = 4
6c. 10(3) cage at R8C5 = {235} (cannot be {037} = [730] which clashes with R8C12, ALS block) = [235], naked pair {07} in R9C45, 7 locked for R9 and N8 -> R8C4 = 6, naked pair {01} in R35C6, locked for C6, clean-up: no 1 in R6C5
6d. R2C6 = 6 (hidden single in C6) -> R1C6 + R2C5 = 13 = {49}/[85], no 7
6e. 2 in N4 only in 10(3) cage at R4C1 = {028/235} = [028]/[523] (cannot be [532] which clashes with R4C9) -> R4C1 = {05}, R4C2 = 2, R5C2 = [38]
6f. 0 in N4 only in R45C1, locked for C1
6g. 14(3) cages in N1 (steps 1c and 1d) = {347} and {059} = [905], 9 in R12C1, locked for C1 and N1
6h. R8C1 = 7 -> R9C1 = 3, R89C2 = [91], naked pair {49} in R12C1, 4 locked for C1 and N1
6i. Combined cage 10(3) and 15(3) = [028]{56}4 (cannot be [523][087] which clashes with R12C2, ALS block) -> 10(3) cage = [028], 15(3) cage = {56}4, 6 locked for C1 and N4
6j. R5C8 = 1, R5C6 = 0 -> R6C5 = 6, R3C6 = 1
6k. Naked pair {59} in R5C45, locked for R5 and N5 -> R4C5 = 1
6l. R6C4 = 3 -> R3C45 = [03], R9C4 = 7
6m. R1C5 = 7 (hidden single in N2) -> R12C4 = 13 = {49}, locked for C4 and N2, R2C5 = 5
6n. R1C3 = 5 (hidden single in N1) -> R1C12 = 9 = [90]
6o. Naked triple {179} in R456C3, locked for C3 -> R2C3 = 3
and the rest is naked singles.