Check if a list checks the parameters

I’m using: SWI-Prolog version ???
8.0.2
I want the code to:
Check if a list with 3 items that might be 1, 0 or a variable check the following conditions:
It cant be like [1,1,1] or [0,0,0]. If its one of them it should return False.
Else it should look if the variables are unifiable with 0 or 1 if so unify but if its unifiable with both it should remain a variable.

But what I’m getting is:
Its unifying with the first list that checks the parameters and doesnt remain a variable.

Im a newbie in Prolog so i would be very thankfull for any help.

Welcome.

Since this looks like homework and just getting the answer is not helpful as you will not learn as much, can you put up the code you have tried and explain where which part you are not understanding.