Couldn't you solve this problem using the slope formula
. You can pick an arbitrary target point along your projected line. In 3D applications this is done by assuming a vector length of one. It seems to me that if you can determine the rise/slope over one pixel then calculating your vertical position at any point along a horizontal plane/run should be trivial. I'm assuming this is 2D we're talking about, so feel free to disregard this if that's not the case. You'd have to account for the edge cases of 0, 45, 90, and 180 degrees.
As for moving forward, determine the direction you're moving in (-1 left or +1 right), and multiply that value times your speed and add it to your current X position, then determine the Y position based off of the previous formula.Edit:
Doh! Looks like Biznatch beat me to it.