u1[x_,y_,z_] := x^2-z^2
u2[x_, y_, z_] := (x+z)/y

ContourPlot3D[u1[x,y,z] == -.2 , {x, -1,1},{y, -1,1},{z, -1,1}, AxesLabel ->{x,y,z}]
ContourPlot3D[u1[x,y,z] == .2 , {x, -1,1},{y, -1,1},{z, -1,1}, AxesLabel ->{x,y,z}]

(x + z)/y = c means that x + z = c y, or z = -x + c y 
The computer plot of the first surface includes the plane y = 0, but the other surface is the nice graph of a function.

ContourPlot3D[u2[x,y,z] == .2 , {x, -1,1},{y, -1,1},{z, -1,1}, AxesLabel ->{x,y,z}]

ContourPlot3D[z== -x+.2y , {x, -1,1},{y, -1,1},{z, -1,1}, AxesLabel ->{x,y,z}]

ContourPlot3D[(x-z)y==-.1 , {x, -1,1},{y, -1,1},{z, -1,1}, AxesLabel ->{x,y,z}]

u1e := x^2 - z^2;  (*for u1 expression *)
u2e :=(x+z)/y;
ContourPlot3D[u1e ==  .1 , {x, -1,1},{y, -1,1},{z, -1,1}, AxesLabel ->{x,y,z}]

ContourPlot3D[u1e u2e==  .1 , {x, -1,1},{y, -1,1},{z, -1,1}, AxesLabel ->{x,y,z}]

ContourPlot3D[(x^2-z^2)(x+z)==  .1y , {x, -1,1},{y, -1,1},{z, -1,1}, AxesLabel ->{x,y,z}]

Note: the other integral can be done in closed form, but it leads to the same 2nd First Integral as we had before.  Using x^2 -z^2 = c1, we can solve for x = (Sqrt[c1 + z^2])

∫(1/(Sqrt[c1 + z^2]))\[DifferentialD]z

Another example: the Inviscid Burger’s equation, u_t + u u_x = 0
x -> x
t ->y
u ->z
z z_x + z_y = 0, so V = (z, 1, 0)
This give u1 = z, and u2 = x-z y

ContourPlot3D[z == -( x-z y) , {x, -1,1},{y,0,2},{z, -1,1}, AxesLabel ->{x,y,z}]

ContourPlot3D[z==-Tanh[x- z y ], {x, -2,2},{y,0,3},{z, -1,1}, AxesLabel ->{x,y,z}, BoxRatios -> Automatic, ContourStyle -> Opacity[1]]