Well, i use the excellent python library, sympy, for symbolic computation.
Using sympy, solving systems of equations straightforward:
>>> from sympy import *
>>> x,y = symbols('x y')
>>> solve([Eq(x + 5*y, 2), Eq(-3*x + 6*y, 15)], [x, y])
{y: 1, x: -3}
So that's how to solve a system of equations using symbolic algebra, except through a python package.
The good news is that there's an R port to sympy, called rsympy, which is available on CRAN, or Google Code, here.
I have never used rsympy, other than downloading/installing it and working through a couple of the simplest examples in the rsympy Manual. I have used the original python library a lot during the past three years and i can recommend it highly.
yacas( "OldSolve({x+5*y==2,-3*x+6*y==15},{x,y})" )
then I get{{x==2-5*y,y==1}};
which is fine, but I do not know why x was not computed to get -3 at the end. Is it possible to make R compute exact results? – Osteoclast