How can I find all (or all real) algebraic solutions to a set of polynomial equations, or equivalently all common roots of a set of polynomials? I'm interested in those cases where the set of solutions is finite, so the number of constraints matches the number of variables. I'm not interested in exact algebraic numbers, not numeric approximations. The polynomials are elements of a polynomial ring, not symbolic expressions.
At the moment, I often use resultants to eliminate one variable after the other. In the end I have a single polynomial for one of the variables, and can find algebraic roots of that. Doing the same with a different elimination order gives candidates for the other variables, and then I can check which combinations satisfy the original equations.
But I guess there must be some more efficient approach. Probably using groebner bases. I couldn't find a simple example along these lines in the reference documentation, though.