We mainly used two techniques.
The first one is based on a simplification of the set of quadratic equations by employing a choice of a more convenient Gröbner basis for the polynomial generating the same solutions.
This has been done with the aid of the computer algebra system for polynomial computations SINGULAR [1]}.
Unfortunately when the number of variables is very large, this can be extremely costly in time and therefore one has to resort to a different way of reducing the set of equations.
We found a very effective procedure by borrowing an algorithm developed in the context of cryptography where the solution of quadratic equations on finite fields is a common problem.
In particular we used the so-called XL algorithm [2]}, or extended linearization.
The idea is rather simple.
Rather than solving directly the given set of quadratric equations, one produces sets of linear equations in the monomials appearing in the equations and in all equations obtained by multiplying the original set of equations by the variables and by their products up to a fixed order.
This produces sets of linear equations that can be solved rapidly and, once interpreted in terms of the original variables, they may reduce to equations in a single variable or in simpler sets of polynomial equations (like equality between different monomials).
This allows to fix and eliminate some of the variables from the problem and then face a simpler set of equations, which could be solved directly or further simplified by another iteration of the same procedure, or by a more convenient choice of Gröbner basis.
