Я тоже не могу понять выходы. Изначально я думал, что проблема в том, что вы создаете новые объекты var, а не повторно используете оригинальные, но это оказалось не так. Если возможно, я бы просто обновился до 0.7.1-git, где все гораздо лучше:
>>> import sympy
>>> sympy.__version__
'0.7.1-git'
>>> from sympy import S, Eq, solve
>>>
>>> vf, d, a, vi, t = S('vf d a vi t'.split())
>>> equations = [
... Eq(vf, vi+a*t),
... Eq(d, vi*t + a*t**2/2),
... Eq(a, 10),
... Eq(d, 60),
... Eq(vi, 5)]
>>>
>>> solve(equations)
[{vf: -35, t: -4, a: 10, vi: 5, d: 60}, {vf: 35, t: 3, a: 10, vi: 5, d: 60}]
>>> solve(equations, [a, t, vi, vf, d])
[(10, -4, 5, -35, 60), (10, 3, 5, 35, 60)]
Хорошие словари по умолчанию, и указание порядка работы.