implicit general solution
Sometimes you do all the integrating correctly and end up with a relation between x and y that you simply cannot rearrange to read y = (something in x). An implicit general solution is an answer left in that tangled form — an equation like G(x, y) = C that the solution curves satisfy, even though no clean explicit formula for y exists.
This happens naturally with separable equations. After separating and integrating both sides, you get an equation in x and y plus a constant; whether you can then solve for y is a separate algebra question, and often the answer is no. For instance, dy/dx = (2x)/(cos y + 1) separates to (cos y + 1) dy = 2x dx, which integrates to sin y + y = x^2 + C. That relation defines the solution curves perfectly well, but sin y + y = x^2 + C cannot be untangled into y = (formula in x). So you stop there and report the implicit general solution. It is still a complete, correct answer: for each C it carves out an integral curve in the plane, and a given initial condition picks the right C.
Implicit solutions are honest and common — leaving an answer implicit is not a failure, it is frequently the best you can do, and many famous solution families (the orthogonal trajectories of a field, the level curves of a potential) live naturally in implicit form. Two cautions: an implicit relation may describe several solution branches at once, so you must keep the piece through your initial point and respect where the curve is single-valued; and to extract numerical values you generally solve G(x, y) = C numerically for y at each x rather than algebraically.
dy/dx = -x/y separates to y dy = -x dx, integrating to y^2/2 = -x^2/2 + C, i.e. x^2 + y^2 = K. This implicit solution describes circles; you cannot write a single y = formula because each circle has an upper and a lower half.
x^2 + y^2 = K is a complete implicit solution; forcing it into y = (formula) would lose half of each curve.
Leaving a solution implicit is correct, not lazy. But check that your initial point lies on the relation and decide which branch it belongs to before reading off values.