As mentioned previously by others, you need integer pairs $\{x,y\}$ such that $x*y=z^2$. I think the fastest and simplest code is to find pairs with $x\le y$ via DivisorPairs[z^2] defined below.
DivisorPairs[n_] := Thread[{#,Reverse[#]}][[;; Ceiling[Length[#]/2]]]&[Divisors[n]]
For example,
DivisorPairs[10^2]
{{1, 100}, {2, 50}, {4, 25}, {5, 20}, {10, 10}}
The following returns integers $\{x,y\}$ such that $x+y+\sqrt{x*y}$ is an integer, up to an arbitrary maximum $z_{max}^2=x*y$.
With[{zmax = 12}, Flatten[Table[DivisorPairs[z^2], {z, 1, zmax}], 1]]
{{1, 1}, {1, 4}, {2, 2}, {1, 9}, {3, 3}, {1, 16}, {2, 8}, {4, 4}, {1,
25}, {5, 5}, {1, 36}, {2, 18}, {3, 12}, {4, 9}, {6, 6}, {1, 49}, {7,
7}, {1, 64}, {2, 32}, {4, 16}, {8, 8}, {1, 81}, {3, 27}, {9,
9}, {1, 100}, {2, 50}, {4, 25}, {5, 20}, {10, 10}, {1, 121}, {11,
11}, {1, 144}, {2, 72}, {3, 48}, {4, 36}, {6, 24}, {8, 18}, {9,
16}, {12, 12}}
Further processing could eliminate non-distinct pairs, or include trivial pairs $\{0,y\}$.