Finding amount of Speed needed

Hi

I am working on an application which has a Cannon fiering a Projectile at an Angle and at a Speed, above Ground Level.

I have 4 formular wich calculates nessesary data for the Projectile, before the Projectile starts moving:

...

**Filnal Y Velocity**

Code:

`Sqr( ( Sin( ( "Projectile Anlge" )*( "Projectile Speed" ) )^2 ) - 2 * "Gravity" * "DeltaY"`

**Total Flight Time**

Code:

` ( "Filnal Y Velocity" + "Initial Y Velocity" ) / "Gravity"`

** Natural Travel Distance X ( Acounting for only Speed and Angle )**

Code:

` Cos( "Projectile Anlge" ) * "Projectile Speed" * "Flight Time"`

** Wind Travel Distance X ( Acounting only for Wind Power )**

Code:

` ( ( "Flight Time" *( "Flight Time" + 1 ) )/2.0) * "Wind Power"`

...

** I then use these 4 formulas to predict the exact impact point of the Projectile along the Ground Level, like this**

Code:

`Impact Point X = "Start Possition X" + "Natural Travel Distance X" + "Wind Travel Distance X"`

...

How would i be able to "rearange" this formula so that

instead of it returning the Impact Point along the Ground Level ( based on Angle, Speed, Gravity, Wind Power )

It will return the amount of "Speed" required to hit a specific point ( X ) along the Ground Level ( based on Angle, Gravity, Wind Power, Impact Point X )?

I realize this is not an easy question, but any help is appreciated :)