APL (Dyalog Unicode), 22 17 1710 bytes
∊({⍵+⍳≢⍵}¨+\∘≠⊆⊢)
Monadic ≠
doesn't work on TIO because it's got an older version of Dyalog APL, so I've defined a function U
Saved 7 bytes thanks to stand in for that.ovs!
Another solution with ≠
, 20 bytes
∊{⍵+(⊣×1+⊢)/∘⌽¨,\~≠⍵⊂⍺+⍳≢⍵}⌸