Algorithm or method for finding maximum of a long polynomial



I've got a polynomial with a couple hundred terms, but less than 30
variables, the variables will have a value of between 1 and 4000, and
I need know the approximate values of the variables at the maximum.

It doesn't have to be fast.

Apparently this could be done by passing it through MathLink to
mathematica using the Maximum function, but I don't have access to
mathematica. (
http://www.scientific-solutions.ch/tech/mathematica/products/mma/newi...
)

I have tried to figure out a suitable method by using graph sketching
techniques from calculus, too, but I'm stumped. I tried to find the
reciprocal-of-the-slope of the normal of a plane or hyperplane, then
find all solutions for when it was zero, then evaluate the polynomial
with those values, like, imagine a bumpy surface (this would be for 2
variables but can be extended), and a plate tangential to the curve at
a point, when the plate is tangential to a point at a valley or a peak
the normal of the plane will be vertical.....
.