Wait. That didn't work for me. I got,
In[31]:= Solve[Eliminate[{y == a x, x == u - y}, x], y]
During evaluation of In[31]:= $RecursionLimit::reclim2: Recursion depth of 1024 exceeded during evaluation of u-y.
Out[31]= Hold[Solve[Eliminate[{y == a x, x == u - y}, x], y]]