Al principio hice esta pregunta en Stackoverflow, donde me aconsejaron que preguntara aquí. Así que ahí está la pregunta:
Tengo un sistema de ecuaciones bastante simples:
\begin{align} x + y &= A \\ f(x,y) + y &= B \end{align}
$A$ y $B$ son conocidos. Todas las variables son enteros positivos de 64 bits, incluyendo $f(x,y)$ .
Pero el problema es que $f(x,y)$ utiliza operaciones bit a bit : $$ f(x,y) = x \oplus (x << 3) \oplus y \oplus (y >> 14) $$ donde $\oplus$ indica XOR y $<<$ y $>>$ denotan la izquierda y la derecha cambios de bits respectivamente.
Intenté resolverlo representando la suma aritmética con opperaciones bit a bit y bits de acarreo. También intenté representar cada bit como un valor booleano y luego resolver un sistema de ecuaciones booleanas. No tuve mucho éxito. ¿Existe algún método para hacerlo correctamente?