解説
X,A,C の i ビット目をそれぞれ Xi,Ai,Ci と表記することにします。
A=C&(Y⊕X⊕A) をビット毎に考えると Ai≡Ci(Yi+Xi+Ai)mod2 となり、
これより CiYi≡CiXi+Ai(1+Ci)mod2 となります。
ここで求めたいのは最小となる Y であるため、 Ci=0 であれば Yi=0 としてよいです。
Ci=1 なら、 Yi=Xi となります。
よって Yi=CiXi となり、 Y=C&X と O(1) で求めることができました。
Yi を探索する方法も可能で、こちらは O(logY) となります。