HATMAN stated that all the coloured clues are given so no other group of four cells can have four consecutive numbers, a pair of doublets or four singletons. Therefore, I assume, they either have two consecutive numbers and two singletons or three consecutive numbers and one singleton.
Note that all rows, columns and nonets contain 0. However each row, column and nonet is missing one of 1-9, so hidden numbers don’t work unless one digit has already been eliminated in that row, column or nonet.
Prelims
a) For squares with 1 or 2 numbers, delete those numbers from the rest of that nonet
b) For squares with 1 or 2 numbers, delete the adjacent numbers in the cells covered by those squares
Steps Resulting From Prelims
1a. R2C5 = 6
1b. R12C56 contains 2,6 and two adjacent numbers = {289} -> R1C5 = 9, R12C6 = {28}
1c. R23C56 contains 6 and three adjacent numbers = {012/123/234} -> R2C6 = 2, R1C6 = 8, antisymmetry no 2 in R8C4, no 8 in R9C4
1d. R12C45 contains 9 and three adjacent numbers, R2C5 = 6 -> R12C4 = [45]/{57}, 5 locked for C4
1e. R23C45 contains 0,3 and two adjacent numbers -> R3C45 = {03}, locked for R3
1f. R89C45 contains 4,8 and two adjacent numbers = {01/12}, 1 locked for N8
1g. 4, specified twice in N8, only in R8C45, locked for R8
1h. R78C45 contains 4 and three adjacent numbers = {789/890/901} (cannot be {012} which clashes with R9C4), no 2 -> R7C4 = 9
1i. R78C56 contains 7 and three adjacent numbers = {345} -> R8C5 = 4, R78C6 = {35}, locked for C6, R7C5 = 7 -> R78C4 = [98]
1j. R89C56 contains two doublets, R8C5 = 4 must be adjacent to R8C6 = {35} -> R9C56 = [10], R9C4 = 2
1k. R1C5 = 9 is paired with R9C5 = 1, R7C4 = 9 -> R3C6 = 1
1l. R2C5 = 6 is pair with R8C5 = 4, no 6 in R9C6 -> no 4 in R1C4
1m. Naked pair {57} in R12C4, 7 locked for C4
1n. Also R1C6 = 8 paired with R9C4 = 2
1o. Consider remaining possible pairs, R7C5 = 7 is paired with 0 or 3 in R3C5
R7C5 = 7, R3C5 = 0, R9C6 = 0 => R1C4 = 7, R2C4 = 5, R8C6 not 5 = 3
or R7C5 = 7, R3C5 = 3, R9C6 = 0, R1C4 not 7 => R1C4 = 5, R2C4 = 7 => R8C6 = 3
-> R8C6 = 3, R7C6 = 5
1p. R45C56 contains four adjacent numbers = {3456/5678/7890} (cannot be {4567/6789} because 4,6,7,9 only in R45C6), no 2
1q. R56C45 contain four adjacent numbers = {0123/1234/2345/3456}, no 8, 3 locked for N5
1r. R45C56 = {3456/5678/7890}
1s. R5C5 = {035} -> R4C5 = 8, R45C45 = {5678/7890}, no 4, 7 locked for N5, R5C5 = {05)
1t. R4C
5 = 8, paired with 2, -> R6C5 = 2
1t. R56C45 = {0123/2345} (cannot be {1234} because R5C5 only contains 0,5), no 6, 3 locked for C4 -> R3C45 = [03]
1u. R3C4 = 0, R7C6 = 5 and R3C5 = 3, R7C6 = 7 give the remaining pairs
1v. R8C6 = 3 -> R2C4 = 7, R1C4 = 5
1w. R5C5 = 0 (hidden single in N5)
1x. R45C5 = [80] -> R45C6 = {79}, 9 locked for N5
1y. R56C2 = [02] -> R56C4 = {13}, 1 locked for N4
1z. 0 paired with 5, no 0 in R5C123789 -> no 5 in R5C123789
2a. 2, specified in N6, only in R5C89, locked for R5
2b. 2 in N6 only in R5C89 is pair with 8 -> R5C12 contain 8, locked for R5 and N4
2c. No 1,3,9 in R56C89 -> no 1,7,9 in R45C12
2d. 0, specified in N6, only in R6C89, locked for R6
2e. 0 in R6C89 is paired with 5 -> R4C12 contains 5, locked for R4 and N4
2f. R56C89 contains 0,2 and two adjacent numbers = {45/56/67/78}
2g. 4 of {45} must be in R5C89 -> no 4 in R6C89, paired with 6 -> no 6 in R4C12
2h. R56C23 contains four singletons, no 5 -> must contain 1, locked for N4
2i. 1 paired with 9, 1 in R5C3 + R6C23 -> 9 in R4C78 + R5C7, locked for N6
2j. R45C78 contains four singletons, no 5 -> must contain 1, locked for N6
2k. 1 paired with 9, 1 in R4C78 + R5C7 -> 9 in R5C3 + R6C23, locked for N4
2l. R45C78 contains 1 -> no 2 in R5C8
2m. R56C89 contains 0,2 -> R5C9 = 2, 2 paired with 8 -> R5C1 = 8
2n. R56C78 contains four adjacent numbers = {3456/4567/5678/6789/7890}, no 1
2o. 1 paired with 9, no 1 in R5C7 -> no 9 in R5C3
2p. No 5 in R5 -> all other rows must contain 5
2q. Consider placement for 5 in N6 only in R6C789
5 in R6C78 => R56C78 = {3456/4567/5678}
or R6C9 = 5 => R56C89 = {0245/0256} => R56C78 = {6789} -> R56C78 = {3456/4567/5678/6789}, no 0
2r. R6C9 = 0 (hidden single in N6), 0 paired with 5 -> R4C1 = 5
2s. 5 in R6C78 -> R56C78 = {3456/4567/5678}, no 9, 6 locked for N6, 1 paired with 9 -> no 1 in R5C3, 4 paired with 6, no 6 in R4C9, no 4 in R6C1
2t. R5C46 = [19] (hidden pair in R5) -> R4C6 = 7, R6C4 = 3
2u. R45C78 contains 1,9 -> R4C78 = {19}
2v. R56C23 contains 1,9 -> R6C23 = {19}
2w. R45C78 contains four singletons -> R5C78 contains one of 3,4 and one of 6,7
2x. R56C78 = {4567} (cannot be {3456} which clashes with R4C9, cannot be {5678} which doesn’t contain one of 3,4), 4 locked for R5 and N6
2y. R4C9 = 3, 3 paired with 7 -> R6C1 = 7, R6C78 = {56}, 6 locked for R6 and N6 -> R6C6 = 4, R4C4 = 6, R5C78 = {47}, 4 locked for R5
2z. No 8 in R6C78, 2 paired with 8 -> no 2 in R4C23
[Now it’s going to get even harder, the two blue squares at R12C12 and R89C89 look like the most promising next step, using pairs of numbers.
They are 0 paired with 5, 1 with 9, 2 with 8, 3 with 7 and 4 with 6.]
3a. If either of those squares contains 0 it can’t contain 1,9, the corresponding one must contain 5 -> neither can contain 4,6 so can only be {0257/0258/0357/0358}, note that R89C89 cannot contain {0257/0258} because 0,2 only in R8C8 -> since these combinations correspond with each other, therefore R12C12 cannot be {0258/0358}
3b. If either of those squares contains 1 it cannot contain 0,2, the corresponding one must contain 9 and cannot contain 5,8 so can only be {1369/1379/1469/1479}
3c. They can also both be {2468} but not {3579} because that corresponds with {0137} which aren’t four singletons
3d. For R89C89 0,3 of {0357/0358} must be in R89C8 -> no 5 in R89C8, 5 paired with 0 -> no 0 in R12C2
[Since this is a really hard puzzle, I’ll agree with HATMAN on that, and it’s not a killer, I’ll abandon my usual search for forcing chains and use contradictions for some steps but try to keep them short.]
3e. R12C12 cannot be {2468} because R3C1 = 9, R89C89 also {2468}, R7C9 = 1, R1C9 = 7 and R12C12 with 8 in R2C2 requires 7 in R1C3 for two doublets in R12C3
-> R12C12 = {0257/0357/1369/1379/1469/1479}, no 8,
7 of {0257} must be in R1C2 -> no 2 in R1C2, no 8 in R9C8
R89C89 = {0357/0358/1369/1379/1469/1479}, no 2
3f. R23C23 contains two doublets, no 8 in N6 -> N1 must contain 8 which is only in R23C23 -> R23C23 contains one but not both of 7,9
Also no 5 in N5 -> N1 must contain 5 which is only in R23C23 -> R23C23 contains one of 4,6 = {4578/4589/5689}, no 0,1,2,3 -> no 7,9 in R8C78
3f. No 4 in N2, no 2 in N4, no 5 in N5, no 8 in N6, no 6 in N8 and all nonets contain 0 -> number missing from N1 must be one of 1,3,7 -> R12C12 and R89C89 cannot be {1379}
3g. R12C12 = {1469/1479} must have 9 in R2C2 (cannot be {16}{49}/[17]{49} because R23C12 doesn’t contain 0,3 and 5,8 only in R3C2) -> no 4 in R2C12, no 6 in R8C89
3h. R89C89 = {0357/0358/1369/1379/1469/1479}, R8C8 = {01} -> no 1 in R8C9, no 9 in R2C1
3i. R12C12 cannot be {0257} = [2705] because R3C2 = 9 for R23C12, R2C3 = 8 for R12C23 to be two doublets and then 4,6 are needed for doublets in all of R12C23, R23C12 and R23C23 -> no 2 in R1C1, no 8 in R9C9
3j. R12C12 cannot be {1469} = {46}[19] because R3C2 = 8 for R23C12, R23C2 = [98] and R23C3 = {45}/[56} clash with R1C12 -> R89C89 cannot be {1469}
3k. R12C12 cannot be {1469} = [47][19] because R1C3 = 0 (hidden single in N1) and no 6 in R3C2 to form two doubles for R12C23 while [7098] would be four adjacent numbers
-> R12C12 = {0357/1369/1379}, no 4, 3 locked for N1
R89C12 = {0357/1379/1479}, no 6, 7 locked for N9
3l. R12C12 = {1369/1379} have R2C2 = 9 -> 1 in R12C1 (because R12C2 = [19] clashes with R6C2) -> no 1 in R1C2, no 9 in R9C8
3m. R12C23 contains two doublets, no 0,2 in R1C2 + R2C23 -> no 1 in R1C3, no 9 in R9C7
3n. R12C12 cannot be {1379} with R12C2 = [79] because R1C3 = 0 (hidden single in N1) and no 6 in R3C2 to form two doubles for R12C23 while [7098] would be four adjacent numbers -> R12C12 = {0357/1369}, R89C8 = {0357/1479}
3o. R12C12 contains 3 and one of 1,7, the missing numbers in N1 must be 1,7 -> no 7 in R1C3 + R3C23 -> R23C23 = {4589/5689}, 9 locked for N1, R78C78 = {0124/0126}, no 3,5,8, no 3 in R9C7, 1 locked for N9
4a. R12C12 = {0357/1369}, R89C8 = {0357/1479} (step 3n), R78C78 = {0124/0126} (step 3o)
4b. Consider placements for R2C2 = {59}
4c. R2C2 = 5
or R2C2 = 9, R12C12 = {1369}, R1C3 = 0 (hidden single for N1), R3C2 = 8 for R23C12, R78C8 = [21], R89C89 = {1479}, R78C7 = {06}, locked for C7 => R2C8 = 0 => R8C2 = 5
-> 5 in R28C2, locked for C2 -> 0 on R28C8, locked for C8
4d. Consider combinations for R12C12 = {0357} => R12C2 = [75], R12C23 contains two doublets => no 2 in R1C3
or R12C12 = {1369} => R1C3 = 0 (hidden single in N1)
-> no 2 in R1C3
4e. No 2 in N4 -> R3C1 = 2 (hidden single in N1), R7C9 = 8
4f. R23C12 contains two doublets, R3C1 = 2 -> R2C1 = {13}, R23C2 = [54/56/98], no 1 in R7C8, no 5 in R8C9
4g. 0 in R2 only in R2C78, locked for N3 -> 5 in R8C23, locked for N7
4h. R23C23 (step 3o) = {4589/5689}
Consider combination for R6C23 = {19}
R6C23 = [19] => R2C2 = 9, R1C3 = 0 (then hidden single in N1), R4C23 = [04], R3C2 = 8 for two doublets in R23C12, R23C3 = {56}, locked for N1
or R6C23 = [91] => R2C2 = 5
-> R12C12 = {0357} (cannot be {1369} because R2C5 or no 6 in R1C12) -> R12C2 = [30], R12C2 = [75], R12C23 contains two doublets = [48] (cannot be [64/68] which would give four adjacent numbers), R3C2 = 6, R3C3 = 9 for R23C23, R4C23 = [40], R5C23 = [36], R6C23 = [91], R9C2 = 8
4i. R12C12 = {0357} -> R89C89 = {0357} = [0735], R9C3 = 7, R1C7 = 3
4j. R4C23 = [40] -> R6C78 = [56], R5C23 = [36] -> R5C78 = [47], R6C23 = [91] -> R4C78 = [91], R9C7 = 6
4k. Naked pair {12} in R78C7, 1 locked for C7, 2 locked for N9 -> R2C7 = 0, R7C8 = 4, R12C8 = [29], R3C9 = 4
4l. R2C7 = 0 -> R8C3 = 5, R2C8 = 9 -> R8C2 = 1, R78C7 = [12], R3C9 = 4 -> R7C1 = 6, R89C1 = [94] -> R12C9 = [61]
4m. R7C2 = 0 (hidden single in N7) -> R3C8 = 5
4n. No 2 in R4 -> all other rows must contain 2 -> R7C3 = 2, R3C7 = 8