  We present a new method for solving symbolically zero--dimensional polynomial
equation systems in the affine and toric case. The main feature of our method
is the use of problem adapted data structures: arithmetic networks and
straight--line programs. For sequential time complexity measured by network
size we obtain the following result: it is possible to solve any affine or
toric zero--dimensional equation system in non--uniform sequential time which
is polynomial in the length of the input description and the ``geometric
degree" of the equation system. Here, the input is thought to be given by a
straight--line program (or alternatively in sparse representation), and the
length of the input is measured by number of variables, degree of equations and
size of the program (or sparsity of the equations). The geometric degree of the
input system has to be adequately defined. It is always bounded by the
algebraic--combinatoric "B\'ezout number" of the system which is given by the
Hilbert function of a suitable homogeneous ideal. However, in many important
cases, the value of the geometric degree of the system is much smaller than its
B\'ezout number since this geometric degree does not take into account
multiplicities or degrees of extraneous components (which may appear at
infinity in the affine case or may be contained in some coordinate hyperplane
in the toric case). Our method contains a new application of a classic tool to
symbolic computation: we use Newton iteration in order to simplify
straight--line programs occurring in elimination procedures. Our new technique
allows for practical implementations a meaningful characterization of the
intrinsic {\it algebraic complexity} of typic elimination problems and reduces
the still unanswered question of their intrinsic {\it bit complexity} to
