Chapter II, problem 2.8(b)  of Zachmanoglu and Thoe
Find the general solution to 
dx/( yz)= dy/(-xz)=(dz/((xy((x^2)+(y^2)))))
In class, we found two first integrals, and the region Ω where the vector field V is nonzero.  Indeed, Ω is (R^3) with the three coordinate axes removed.
In class I found two first integrals
u1(x,y,z) = x^2 + y^2 and
u2(x,y,z) = (x^2 + y^2) x^2  - z^2.

We can define a third First integral, u3 = u1^2-u2:
u3(x,y,z) = (x^2 + y^2) y^2 + z^2.

The next box allows you to choose a point and plot any or all of the level surfaces that go through the point.  Any two surfaces intersect at the integral curve of 
v = (yz, -xz, xy(x^2+y^2) )
that goes through the chosen point.

Manipulate[
c1 = u1[x0,y0,z0];
c2 = u2[x0,y0,z0];
c3 = u3[x0,y0,z0];
p1 = ContourPlot3D[u1[x,y,z] == c1, {x, -2,2}, {y, -2,2}, {z, -2,2}, ContourStyle -> Directive[Orange,Opacity[.7],Specularity[White,20]], Mesh -> None];p2 = ContourPlot3D[u2[x,y,z] == c2, {x, -2,2}, {y, -2,2}, {z, -2,2}, ContourStyle -> Directive[Darker[Green],Opacity[.7],Specularity[White,20]], Mesh -> None];p3 = ContourPlot3D[u3[x,y,z] == c3, {x, -2,2}, {y, -2,2}, {z, -2,2}, ContourStyle -> Directive[Cyan,Opacity[.7],Specularity[White,20]], Mesh -> None];ps = Graphics3D[Sphere[{x0, y0, z0}, .1]] ;
figs = {ps};
If[show1, AppendTo[figs, p1]];
If[show2, AppendTo[figs, p2]];
If[show3, AppendTo[figs, p3]];
Show[ figs, PlotRange ->{{-2,2},{-2,2}, {-2,2}}, Axes -> True,AxesLabel ->{"x","y","z"}], Row[{Control[{{show1, True, "(Subscript[u, 1])(x,y,z) = (Subscript[c, 1])"},{True,False}}],Control[{{show2,True,"(Subscript[u, 2])(x,y,z) = (Subscript[c, 2])"},{True,False}}],Control[{{show3,False, "(Subscript[u, 3])(x,y,z) = (Subscript[c, 3])"} ,{True,False}}]}, Spacer[20]],{{x0, -.4,"(Subscript[x, 0])"}, -1,1,Appearance->"Labeled"}, {{y0, -.8, "(Subscript[y, 0])"}, -1, 1,Appearance->"Labeled"},
{{z0, .9,"(Subscript[z, 0])"}, -1, 1,Appearance->"Labeled"},
Initialization -> { (* this makes the functions "local" *)
u1[x_, y_, z_] := x^2 + y^2;
u2[x_, y_, z_] := (x^2 + y^2)x^2 - z^2;
u3[x_, y_, z_] := (x^2 + y^2)y^2 + z^2;
}]

The Manipulate function is fun but temperamental.  If things get weird with Mathematica, you can always go to the Evaluation menu and quit the local kernel, and start again.  You might also find that you have no choice but to quit Mathematica.