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.