Oh that one is easy.
A&B is a commun pattern. If b=3 then B is useless wich is impossible (all verificators are useful).
And A&B can make b take any value.
Then you got few information about yellow and purple. So y=p, else you could swap them and you would get 2 differents solutions at the end, which is impossible. And so D tell the parity of yp.
Then if yp is odd, then you got three solutions, which is too much. So yp is even.
Then let's look at C. If it's 444 then ABD are useless, which is impossible. If there is two 4s then D is useless which is impossible. So y=p=2.
And about b>3 I have the feeling it's impossible, but it's hard for me to be convinced by it. My solver confirm it though.
If b>3, then C would give the value of b, and B would be useless, which is imposslbe.
So b<3.
Then if blue is even, you got multiple solutions like 221 or 223, which isn't possible, so blue is odd.
And so the only solution is 122.
Checking any verificator is useless.