### solve result contain variable which to solved

Hi!

I'm newbie with ~~sageplease ~~sage please help me what I doing wrong!

I do:
(a,l,x) = var('a,l,x')
solve(1/(a*(x-1))==(sqrt(x^2+1^2)/2/l),x)

--> [x == (sqrt(x^2 + 1)*a + 2*l)/(sqrt(x^2 + 1)*a)]

Why x result contain x itself!?
It's not ture for any x.

If I set a,l params
(a,l,x) = var('a,l,x')
a=24
l=1.28
solve(1/(a*(x-1))==(sqrt(x^2+1^2)/2/l),x)

--> [x == 1/75*(75*sqrt(x^2 + 1) + 8)/sqrt(x^2 + 1)]

So result still contain x itself...
I'm confused about it.

*Remark: Already I found that if I reorder the eqution by hand into the form below:
solve(sqrt(x^4-2*x^3+2*x^2-2*x+1)-(2*a/l),x)
the solve() function give me the roots well.*

Thanks for help.