Here's part of problem from a college physics text:

> A time-dependent force **F** = (8.00 i - 4.00 *t* j) N (where *t* is in
> seconds) is applied to a 2.00-kg object initially at rest. (a) At what
> time will the object be moving with a speed of 15.0 m/s?

Here's one way to solve the problem using Reduce:

    {
      vx == Integrate[Fx/m, {t, 0, t}],
      vy == Integrate[c*t/m, {t, 0, t}],
      speed^2 == vx^2 + vy^2,
      c != 0, speed != 0, Fx != 0
      };
    Reduce[%, {t, vx, vy}];
    % /. {speed -> 15, Fx -> 8, c -> -4, m -> 2}


The output is:

    (t == -5 I || t == 5 I || t == -3 || t == 3) && vx == 4 t && 
     vy == -((t vx)/4)

The answer given in the book is t = 3.

In the set of equations passed to `Reduce`, the `Fx/m` comes from `Fx = m * ax` and `c*t/m` comes from `c*t = m * ay`. Instead of doing that manual substitution, I'd like to pass those equations to `Reduce` and have it do the right thing. I.e. something like:

    {
      Fx = m * ax,
      c*t = m * ay,
      vx == Integrate[ax, {t, 0, t}],
      vy == Integrate[ay, {t, 0, t}],
      speed^2 == vx^2 + vy^2,
      c != 0, speed != 0, Fx != 0
      };
    Reduce[%, {t, vx, vy}];
    % /. {speed -> 15, Fx -> 8, c -> -4, m -> 2}

Of course, that doesn't work because `Integrate` doesn't know that `ax` and `ay` are in terms of `t`.

Any suggestions on how to make something like this work?