"Tidiest" simplification?



Hi,

I'm new to Maxima, I'm beginning to use it for my work, but still far from
mastering it.

I know simplification is a very complex subject in CAS.

However, I'm having a hard time even doing a simple task like this one, so
I believe I might me doing something wrong.

Let's suppose we need to solve this quadratic equation for Us1:

 ec: (d/(2*Uo))*(Us1^2)-(d*Us1)+Md=0;

Maxima says this:
[Us1=-(sqrt(d)*sqrt(d*Uo^2-2*Md*Uo)-d*Uo)/d,Us1=(sqrt(d)*sqrt(d*Uo^2-2*Md*Uo)+d*Uo)/d];

If I solve it on paper, I can get this (tidier) expression of the same
solution:
[Us1=(1-sqrt(1-(2*Md)/(d*Uo)))*Uo, Us1=(1+sqrt(1-(2*Md)/(d*Uo)))*Uo];

I'd like that Maxima arrives to a "tidy" solution such as the one I got
manually, but supposing that's unreasonable for a CAS package, at least I'd
wish that Maxima checks if my solution is exactly the same as the one
Maxima got.

I tried to subtract the two solutions, but the result wasn't zero. Then I
tried to either factor(%); expand(%); or fullratsimp(%); but didn't get
zero either...

So... how can I tell Maxima to verify if the two solutions are exactly the
same?

Also, if there's some way of telling Maxima to get the "tidiest"
simplification for a solution, please tell me!!

Thank you in advance,

ardi