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?