Is there analitical way to solve equations of such type (like this):
$c_0 = x_0 y_0$
$c_1 = x_0 y_1 \oplus x_1 y_0$
$d_0 = x_1 y_1$
$d_1 = 0$
where $x_0, x_1, y_0, y_1$ are unknown bits, and $c_0, c_1, d_0, d_1$ are known bits
Is there analitical way to solve equations of such type (like this):
$c_0 = x_0 y_0$
$c_1 = x_0 y_1 \oplus x_1 y_0$
$d_0 = x_1 y_1$
$d_1 = 0$
where $x_0, x_1, y_0, y_1$ are unknown bits, and $c_0, c_1, d_0, d_1$ are known bits
In general or just this case? In general I don't think there's any other systematic way than rewriting the whole thing as one boolean expression and then write the truth table for it and identifying the solutions. The problem with these kinds of equation system is being elaborated in another question.
For this particular case however one notes that unless $x_0=x_1=y_0=y_1=1$ the equation system is that of multiplication in base two. They only differs in that the third equation doesn't include carry from the second and the fourth doesn't include carry from the third - this difference only happens in this exception. This exception corresponds to $c_0=d_0=1$, $c_1=d_1=0$. Otherwise the solution would be all possible factorizations of the number $d_1;d_0;c_1;c_0$ (using only factors $0$, $1$, $2$ and $3$) represents.
For example if $(d_1, d_0, c_1, c_0)=(0,0,0,0)$ representing $0$ the factors are one being $0$ which is represented by $(0, 0)$ so the solutions are $x_0=x_1=0$ or $y_0=y_1=0$ (or both).
Another example: if $(d_1, d_0, c_1, c_0)=(0,0,1,0)$ representing $2$ the factors are one being $1$ represented as $(0,1)$ and the other is $2$ represented as $(1,0)$. The solutions are therefore $(x_1, x_0) = (0,1)$ and $(y_1, y_0) = (1,0)$ or the other way around $(x_1, x_0) = (1,0)$ and $(y_1, y_0) = (0,1)$