Gregory, welcome to the site! It is really great to see your contribution here. I think your answer is spot on, I will extend it by giving an example.

Create a list of multidimensional data:

data = Flatten[Table[{{x, y}, LCM[x, y]}, {x, 4}, {y, 4}], 1]

Create an approximate interpolating function:

f = Interpolation[data]

Plot the interpolating function:

ContourPlot[f[x, y], {x, 1, 4}, {y, 1, 4}, ColorFunction -> "Rainbow"]

Now find minimum

In[4]:= min = NMinimize[{f[x, y], 1 < x < 4 && 1 < y < 4}, {x, y}]

Out[4]= {-0.609654, {x -> 1.49554, y -> 1.49554}}

In[5]:= pt = {x, y, min[[1]]} /. min[[2]]

Out[5]= {1.49554, 1.49554, -0.609654}

Show[

Plot3D[f[x, y], {x, 1, 4}, {y, 1, 4}, ColorFunction -> "Rainbow",

PlotStyle -> Opacity[.8], MeshStyle -> Opacity[.5],

MeshFunctions -> {Sqrt[#1^2 + #2^2 + #3^2] &}, Mesh -> 15],

Graphics3D[{Red, PointSize[.08], Point[pt]}]

, PlotRange -> All]