I need a general method for solving systems of logical equations like:
$$
\begin{equation\*}
 \begin{cases}
 c\_{0} = a\_{0} \land b\_{0}\\\\ 
 c\_{1} = a\_{0} \land b\_{1} ⊕ a\_{1} \land b\_{0}\\\\ 
 c\_{2} = a\_{0} \land b\_{2} ⊕ a\_{1} \land b\_{1} ⊕ a\_{2} \land b\_{0}\\\\ 
 c\_{3} = a\_{1} \land b\_{2} ⊕ a\_{2} \land b\_{1}\\\\ 
 c\_{4} = a\_{2} \land b\_{2} 
 \end{cases}
\end{equation\*}
$$
Where c is known and a and b are unknown variables.
This system is a system of logical nonlinear equations, I want to know if it is possible to find a general solution for such a system. The number of unknowns is 1 more than the number of equations. Solutions will be symmetric (a and b can be swapped).
The challenge is not unsolvable and there is an example of a [solution](https://macton.github.io/codingame/nintendo/00000001.html) . However, it seems to me that there is a simpler solution.



Solve system of logical equations
Let $A=a\_0+a\_1x+a\_2x^2\cdots+a\_nx^n$, $B=b\_0+b\_1x+\cdots+b\_mx^m$, and $C=AB=c\_0+\cdots+c\_{n+m}x^{n+m}$, where arithmetic occurs over $\mathbb{F}\_2$. Then your problem is exactly equivalent to recovering $\{A,B\}$ from $C$. This is the problem of [factorization of polynomials over finite fields](https://en.wikipedia.org/wiki/Factorization_of_polynomials_over_finite_fields). Although, remarkably, the factors can be computed in polynomial time, I don't there there are any particularly simple algorithms for doing so.


