Q:

Maxima can't solve relatively simple equation.

I'm trying to solve this equation for x, with Maxima:

What I am doing wrong here?
declare([a, b, c, d], constant);
solve(a+b*sqrt((c+x)^2 - d) - x);

[x=b*sqrt(x^2+2*c*x-d+c^2)+a]

Obviously that is not a solution - x is on both sides!
Wolfram alpha solves it no problem:

Is Mathematica just much better than Maxima?

A:

I get as answer, I have added some white space, with GNU Maxima 5.32.1
%union(
%if(?%and(
-%pi/2 < parg(
    -(b*(c+a)-sqrt(b^2*d-d+c^2+2*a*c+a^2))/(b^2-1)
),
parg(
    -(b*(c+a)-sqrt(b^2*d-d+c^2+2*a*c+a^2))/(b^2-1)
) <= %pi/2),
[x = -(-b*sqrt(b^2*d-d+c^2+2*a*c+a^2)+b^2*c+a)/(b^2-1)],%union()),
%if(?%and(
-%pi/2 < parg(
    -(sqrt(b^2*d-d+c^2+2*a*c+a^2)+b*(c+a))/(b^2-1)
),
parg(
    -(sqrt(b^2*d-d+c^2+2*a*c+a^2)+b*(c+a))/(b^2-1)
) <= %pi/2),
[x = -(b*sqrt(b^2*d-d+c^2+2*a*c+a^2)+b^2*c+a)/(b^2-1)],%union()))

The maxima code was
display2d : false;
load("to_poly_solve");
eq : a+b*sqrt((c+x)^2-d)-x;
%solve([eq],[x]);

