I'm a math Ph.D., but not in numerical analysis, so I'm a little outside my area of real expertise here.
Curve fitting and interpolation are a huge area of applied mathematics with a lot of well-known algorithmic tools. In this case, we've got N data points and want a curve that hits all of them exactly; this can always be done with a polynomial of degree N (the Wikipedia article at <
http://en.wikipedia.org/wiki/Polynomial_interpolation> has the details, but basically it involves solving N linear equations in N unknowns, which is simple enough in principle but algorithmically brutal if N is really large).
That curve is always guaranteed to hit the N points you chose to fit it to, but outside that range it could do absolutely anything. This means that for a characteristic curve, you'd better include some points through the shoulder and toe regions, and the further out you can get data from those regions, the better.
There are more complicated methods for fitting a polynomial curve approximately to more than N points, or for fitting other types of curves.
Any general-purpose mathematical software like Matlab will include basic curve-fitting functions; I googled "curve fitting windows download" and found a bunch of freeware for Windows, but I have no idea how well any of it works. It sounds, though, like that's the family of software that the original poster wants to be playing around with.
The problem Ray Rogers asks about, drawing a curve and finding an equation to fit it, is in practice the same problem as described above, writ large---this is because a "curve" on a computer screen is just a finite set of pixels, so you're really trying to find an equation that hits a very large number of points. The mathematically pure version of this problem isn't really solvable---there are lots of functions for which no formula can be written down in any reasonable way.
Um, does this post make it better or worse?
-NT