You can use GAP as well. Regarding to what O.L gave you I am posting an example accordingly:
gap> f:=FreeGroup("a","b");;
gap> a:=f.1;; b:=f.2;;
gap> g:=f/[a^2,b^3,(a*b)^4];
gap> Elements(g);;
gap> Size(g)
If you be familiar to use this software, then you'll wish to use it in sleep even!! It is indeed a wonderful and of course a powerful tool.
For problems such as this I once developed something I called the gamma pulse. Briefly, in physical space
$$
\gamma(t;n,k)=k(kt)^ne^{-kt}u(t)\\
\int_0^\infty\gamma(t;n,k)=\Gamma(n+1)
$$
Here, $k$ is the characteristic frequency, $n$ is the pulse order, $u$ is the Heaviside step function, and, of course, $\Gamma$ is the gamma function, hence the name of the function $\gamma$.
In similarity space, i.e., $\tau=t/k$, we have
$$
\gamma(\tau;n)=\tau^ne^{\tau}u(\tau)\\
\int_0^\infty\gamma(\tau;n)=\Gamma(n+1)
$$
The following properties may help you customize this for your problem. The time at maximum pulse is given by
$$
\frac{\partial\gamma(\tau;n)}{\partial\tau}=0 \to\tau=n
$$
The mean time is given by
$$
\bar{\tau}=\frac{\int_0^\infty\tau\gamma(\tau;n)}{\int_0^\infty\gamma(\tau;n)}=\frac{\Gamma(n+2)}{\Gamma(n+1)}=n+1
$$
The rms pulse width (left an exercise for the reader) is given by $\tau_{rms}^2=n+1$.
And finally, the $3dB$ width, i.e., the width at half-height is given by the following approximations,
$$
\text{Small} \ n(\le2):\quad \Delta\tau_{3dB}\approx\sqrt{6n}\\
\text{Large} \ n(\ge2):\quad \Delta\tau_{3dB}\approx2\sqrt{2\ln2\cdot n}
$$
I have used this in a great number of problems similar to yours. There is a more complete write-up here and in the linked pdf file.
Best Answer
It sounds like you're talking about drawing Bézier patches. Lots of programs let you draw these (e.g. essentially every graphic design program) and all of them would have an internal representation of the equation, although I'm not sure how to get most of them to tell it to you. But that should tell you what to Google.
I found this thing online:
http://cs.jsu.edu/~leathrum/gwtmathlets/mathlets.php?name=bezier
See the "notes" tab.