<< Graphics`ContourPlot3D`
u[x_, y_] := ((((x - s))^2)/(4*(y))) + 
        s
p0 = {RGBColor[0, 1, 0], 
          Thickness[0.01]};
M1 := 
        ContourPlot3D[
          z - u[x, y], {x, -5, 
            5}, {y, -5, -0.000000000001}, {z, -5, 5}, 
          PlotRange -> {{-7, 7}, {-7, 7}, {-7, 7}}, 
          AspectRatio -> 1, 
          DisplayFunction -> Identity];
M2 := 
        ContourPlot3D[
          z - u[x, y], {x, -5, 5}, {y, 0.000000000001, 5}, {z, -5, 
            5}, PlotRange -> {{-7, 7}, {-7, 7}, {-7, 7}}, 
          AspectRatio -> 1, 
          DisplayFunction -> Identity];
A1 = 
      Plot3D[x - y, {x, -3.5, 3.5}, {y, -3.5, 3.5}, 
        Mesh -> False, 
        DisplayFunction -> Identity]
L1 = 
        ParametricPlot3D[{x, 0, x, p0}, {x, -3, 3}, 
          AspectRatio -> 1, 
          DisplayFunction -> Identity];
AV = 
      Table[Show[M1, M2, A1, L1, DisplayFunction -> $DisplayFunction, 
          AxesLabel -> {"x", "y", "u"}], {s, -3, 3, 
          0.5}]

Export["Monge-Cone.avi", AV]

Table[
      Show[M1, M2, A1, L1, DisplayFunction -> $DisplayFunction, 
        ViewPoint -> {-1, 0, 1}], {s, -3, 3, 0.1}]

Table[
      Show[M1, M2, A1, L1, 
        DisplayFunction -> $DisplayFunction], {s, -3, 3, 
        0.1}]

Plot[Evaluate[Table[0.5*x + c, {c, -4, 4, 1}]], {x, -6, 6}, 
      PlotRange -> {{-6, 6}, {-6, 6}}, 
      PlotStyle -> {RGBColor[1, 0, 0]}, 
      AxesLabel -> {"x", "y"}]