Solving Ball Collision Equation



hi,

I am new to maxima and I would like to solve this equation:
  ([px1,py1] + t*[vx1,vy1] - ([px2,py2] + t*[vx2,vy2]))^2 = (r1+r2)^2
for t.

I tried: 
  solve([([px1,py1] + t*[vx1,vy1] - ([px2,py2] + t*[vx2,vy2]))^2 =
  (r1+r2)^2], t);
but this doesn't succeed in solving for t. I would like to implement
this in a C program.

I read mbe4solve.pdf but couldn't find a hint.

Is there a way to solve this problem (restate it?) with maxima or other
open source tools?

Thanks!
-- 
Felix Natter