  We describe a new algebraic technique for enumerating self-avoiding walks on
the rectangular lattice. The computational complexity of enumerating walks of
$N$ steps is of order $3^{N/4}$ times a polynomial in $N$, and so the approach
is greatly superior to direct counting techniques. We have enumerated walks of
up to 39 steps. As a consequence, we are able to accurately estimate the
critical point, critical exponent, and critical amplitude.
