# differential equations – Why is DSolve returning imaginary results?

When using DSolve, I expected $$y(x) = a + b x$$ as the only result because $$y(x)$$ is real

DSolve({y''(x)(1 + (y'(x))^2) == 0}, y(x), x)

However, it is returning three results, which include two imaginary ones

$${{y(x)to c_1-i x},{y(x)to i x+c_1},{y(x)to c_2 x+c_1}}$$

Why is it returning those imaginary results?

Note: I understand how it gets them.