Using Insert-->Model Datum-->Curve--> <From Equation>, you can create curves from equations.
You can use this to build a 'curve network' that you will later use to define the surface.
The curve equations are in parametric form, and they use a parameter, t, that varies from 0 to 1.
To build the curves in the x-direction, you need to create a few (at least 2) curves using equations of the form:
x=0 [,1,2,3,4]
y=(b-a)*t + a
z=f(x,y)
For each curve, increment the value in the x field.
a and b are the boundaries of the surface you want to plot in the x direction. The formula (b-a)*t + a applies to the general case, and can be simplified to b*t if you are starting from y=0.
f(x,y) is your function. Notice that f(x,y) does not change from curve to curve. You're just changing the parameters for x and y. The problem with this method is that the curves ALL need to be changed if f(x,y) changes.
To make the curves in the other direction, simply switch the equations for x and y and repeat the procedure.
Now, turn all of these curves into a surface using Insert-->Boundary Blend. Hold down control and pick all of the x-direction curves. Then pick the second box in the lower right dashboard (2nd direction chain collector) and pick the curves in the other direction. The resulting surface will pass through all of the curves and should be a good representation of your surface.
The more curves you use, the better your representation of the true surface. I'm not fully sure if what you get by this method would exactly match the true surface generated by the function due to the boundary conditions that pro/e applies. You might capture the boundary conditions better by making the limits a lot larger than the surface you need, and projecting your area onto this surface (sketch a curve and use edit-->project) and finally trimming the rest away. A possible test of the "error" in this method would be to create datum points on the surface and then using the measure tool to compare the z-position to what the equation would predict.
Good luck