Given a 64-bit positive integer $y$ and a set of $100$ $64$-bit positive integers: $X = \{ x_1, x_2, \dots, x_{100} \}$
I want to find a smallest possible $Z = \{z_1, z_2, \dots, z_n\} \subset X$, such that:
$\begin{align} y = z_1 ⊕ z_2 ⊕ \dots ⊕ z_n \end{align}$
if such a $Z$ exists.
Clearly there are $2^{100}$ possible subsets of $X$, so iterating through them would take too long.
Does anyone know of, or can anyone think of, some sort of dynamic programming solution or other feasible algorithm?