I have a 2D surface that has been stretched in the x-direction according to the following equation:

v = x - 0.677157215 + 0.00627464474*x + 5.47508015E-6*x^2 - 4.72352485E-8*x^3

Since v now becomes the new x-coordinate on the distorted surface, I presumably need to solve the equation for x in terms of v in order to reverse the distortion, and map all the points back to their original positions.

Using mathematica I get three roots, not sure which one to use.

Here is one of them:

x = 38.637+4.6088*(10^-31) * ((-1.08128*(10^98)*v + 1.08128*(10^98)*sqrt(v-0.495847)*sqrt(v+1.3544)-4.64168*(10^97))^(1/3)) + ((9.93148*(10^34))/(-1.08128*(10^98)*v + 1.08128*(10^98)*sqrt(v-0.495847)*sqrt(v+1.3544) - 4.64168*(10^97))^(1/3))

This expression needs to be implemented in QBASIC; but the 10^97 and 10^98 are producing overflows. So I need to simplify the solution somehow.

Ideally I would like to express it aproximately as a power series in v, but I have no idea how to do this! (It needs to be as precise as possible.)

Any help would be greatly appreciated.