We can adapt Sjoerd's solution to the question, http://mathematica.stackexchange.com/questions/40939/table-find-index-of-the-maximum-element.  Other methods may be found here: http://mathematica.stackexchange.com/questions/40231/list-manipulation-position-max-value-combination.

    tt1 = Flatten[
       Table[Thread@{x, y, z /. Solve[z^2 == x^2 y - z, z, Method -> Reduce]},
        {x, 0, 5, 1}, {y, 0, 5, 1}],
       2];
    
Then this yields `{x, y, max}`:

    tt1[[Ordering[tt1[[All, 3]]] // Last]]
    (*
      {5, 5, 1/2 (-1 + Sqrt[501])}
    *)