Help with solving an equation [closed]

The function Func is as following:

Func = 30*(1 + a + b + c + d + e)*(1 + a + f + g + h + i)*(1 + b + f + j + k +
l)* (1 + c + g + j + m + n)*(1 + d + h + k + m + o)*(1 + e + i + l + n + o) - (3
+ a + b + c + d + e + f + g + h + i + j + k + l + m + n + o)^3 - (-1 + c^2 + d^2
+ e^2 + f^2 - c^2*f^2 - d^2*f^2 - e^2*f^2 + g^2 - d^2*g^2 - e^2*g^2 + 2*c*d*g*h
+ h^2 - c^2*h^2 - e^2*h^2 + 2*c*e*g*i + 2*d*e*h*i + i^2 - c^2*i^2 - d^2*i^2 -
2*f*g*j + 2*d^2*f*g*j + 2*e^2*f*g*j - 2*c*d*f*h*j - 2*c*e*f*i*j + j^2 - d^2*j^2
- e^2*j^2 - h^2*j^2 + e^2*h^2*j^2 - 2*d*e*h*i*j^2 - i^2*j^2 + d^2*i^2*j^2 -
2*c*d*f*g*k - 2*f*h*k + 2*c^2*f*h*k + 2*e^2*f*h*k - 2*d*e*f*i*k + 2*c*d*j*k +
2*g*h*j*k - 2*e^2*g*h*j*k + 2*d*e*g*i*j*k + 2*c*e*h*i*j*k - 2*c*d*i^2*j*k + k^2
- c^2*k^2 - e^2*k^2 - g^2*k^2 + e^2*g^2*k^2 - 2*c*e*g*i*k^2 - i^2*k^2 +
c^2*i^2*k^2 - 2*c*e*f*g*l - 2*d*e*f*h*l - 2*f*i*l + 2*c^2*f*i*l + 2*d^2*f*i*l +
2*c*e*j*l + 2*d*e*g*h*j*l - 2*c*e*h^2*j*l + 2*g*i*j*l - 2*d^2*g*i*j*l +
2*c*d*h*i*j*l + 2*d*e*k*l - 2*d*e*g^2*k*l + 2*c*e*g*h*k*l + 2*c*d*g*i*k*l +
2*h*i*k*l - 2*c^2*h*i*k*l + l^2 - c^2*l^2 - d^2*l^2 - g^2*l^2 + d^2*g^2*l^2 -
2*c*d*g*h*l^2 - h^2*l^2 + c^2*h^2*l^2 - 2*c*d*m + 2*c*d*f^2*m - 2*g*h*m +
2*e^2*g*h*m - 2*d*e*g*i*m - 2*c*e*h*i*m + 2*c*d*i^2*m + 2*f*h*j*m -
2*e^2*f*h*j*m + 2*d*e*f*i*j*m + 2*f*g*k*m - 2*e^2*f*g*k*m + 2*c*e*f*i*k*m -
2*j*k*m + 2*e^2*j*k*m + 2*i^2*j*k*m + 2*d*e*f*g*l*m + 2*c*e*f*h*l*m -
4*c*d*f*i*l*m - 2*d*e*j*l*m - 2*h*i*j*l*m - 2*c*e*k*l*m - 2*g*i*k*l*m +
2*c*d*l^2*m + 2*g*h*l^2*m + m^2 - e^2*m^2 - f^2*m^2 + e^2*f^2*m^2 - i^2*m^2 +
2*f*i*l*m^2 - l^2*m^2 - 2*c*e*n + 2*c*e*f^2*n - 2*d*e*g*h*n + 2*c*e*h^2*n -
2*g*i*n + 2*d^2*g*i*n - 2*c*d*h*i*n + 2*d*e*f*h*j*n + 2*f*i*j*n - 2*d^2*f*i*j*n
+ 2*d*e*f*g*k*n - 4*c*e*f*h*k*n + 2*c*d*f*i*k*n - 2*d*e*j*k*n - 2*h*i*j*k*n +
2*c*e*k^2*n + 2*g*i*k^2*n + 2*f*g*l*n - 2*d^2*f*g*l*n + 2*c*d*f*h*l*n - 2*j*l*n
+ 2*d^2*j*l*n + 2*h^2*j*l*n - 2*c*d*k*l*n - 2*g*h*k*l*n + 2*d*e*m*n -
2*d*e*f^2*m*n + 2*h*i*m*n - 2*f*i*k*m*n - 2*f*h*l*m*n + 2*k*l*m*n + n^2 -
d^2*n^2 - f^2*n^2 + d^2*f^2*n^2 - h^2*n^2 + 2*f*h*k*n^2 - k^2*n^2 - 2*d*e*o +
2*d*e*f^2*o + 2*d*e*g^2*o - 2*c*e*g*h*o - 2*c*d*g*i*o - 2*h*i*o + 2*c^2*h*i*o -
4*d*e*f*g*j*o + 2*c*e*f*h*j*o + 2*c*d*f*i*j*o + 2*d*e*j^2*o + 2*h*i*j^2*o +
2*c*e*f*g*k*o + 2*f*i*k*o - 2*c^2*f*i*k*o - 2*c*e*j*k*o - 2*g*i*j*k*o +
2*c*d*f*g*l*o + 2*f*h*l*o - 2*c^2*f*h*l*o - 2*c*d*j*l*o - 2*g*h*j*l*o - 2*k*l*o
+ 2*c^2*k*l*o + 2*g^2*k*l*o + 2*c*e*m*o - 2*c*e*f^2*m*o + 2*g*i*m*o -
2*f*i*j*m*o - 2*f*g*l*m*o + 2*j*l*m*o + 2*c*d*n*o - 2*c*d*f^2*n*o + 2*g*h*n*o -
2*f*h*j*n*o - 2*f*g*k*n*o + 2*j*k*n*o - 2*m*n*o + 2*f^2*m*n*o + o^2 - c^2*o^2 -
f^2*o^2 + c^2*f^2*o^2 - g^2*o^2 + 2*f*g*j*o^2 - j^2*o^2 + b^2*(1 - i^2 - m^2 +
i^2*m^2 - n^2 + h^2*(-1 + n^2) + 2*m*n*o - o^2 + 2*h*i*((-m)*n + o) + g^2*(-1 +
o^2) + 2*g*(i*(n - m*o) + h*(m - n*o))) + a^2*(1 - l^2 - m^2 + l^2*m^2 - n^2 +
k^2*(-1 + n^2) + 2*m*n*o - o^2 + 2*k*l*((-m)*n + o) + j^2*(-1 + o^2) + 2*j*(l*(n
- m*o) + k*(m - n*o))) + 2* a*((-d)*h - e*i + d*h*j^2 + e*i*j^2 + d*f*k -
d*g*j*k + e*i*k^2 + e*f*l - e*g*j*l - e*h*k*l - d*i*k*l + d*h*l^2 + d*g*m -
d*f*j*m - 2*e*i*j*k*m + e*h*j*l*m + d*i*j*l*m + e*g*k*l*m - d*g*l^2*m + e*i*m^2
- e*f*l*m^2 + e*g*n - e*f*j*n + e*h*j*k*n + d*i*j*k*n - e*g*k^2*n - 2*d*h*j*l*n
+ d*g*k*l*n - e*h*m*n - d*i*m*n + e*f*k*m*n + d*f*l*m*n + d*h*n^2 - d*f*k*n^2 +
e*h*o + d*i*o - e*h*j^2*o - d*i*j^2*o - e*f*k*o + e*g*j*k*o - d*f*l*o +
d*g*j*l*o - e*g*m*o + e*f*j*m*o - d*g*n*o + d*f*j*n*o + c*((-h)*j*k - i*j*l +
h*m + i*k*l*m - h*l^2*m + i*n - i*k^2*n + h*k*l*n + i*j*k*o + h*j*l*o - i*m*o -
h*n*o + g*(-1 + k^2 + l^2 - 2*k*l*o + o^2) + f*(j - k*m - l*n + l*m*o + k*n*o -
j*o^2)) + b*(h*k + i*l - h*j*m - i*l*m^2 - i*j*n + i*k*m*n + h*l*m*n - h*k*n^2 -
i*k*o - h*l*o + i*j*m*o + h*j*n*o + f*(-1 + m^2 + n^2 - 2*m*n*o + o^2) + g*(j -
k*m - l*n + l*m*o + k*n*o - j*o^2))) - 2* b*(e*(h*i*k + l - h^2*l - h*i*j*m -
l*m^2 - j*n + h^2*j*n + k*m*n - k*o + j*m*o + g*(i*j - i*k*m + 2*h*l*m - h*k*n -
h*j*o) + g^2*(-l + k*o) + f*(i*(-1 + m^2) + g*n - h*m*n + h*o - g*m*o)) + d*(k -
i^2*k + h*i*l - j*m + i^2*j*m - h*i*j*n + l*m*n - k*n^2 + g*h*(j - l*n) - l*o +
j*n*o - g*i*(l*m - 2*k*n + j*o) + g^2*(-k + l*o) + f*(g*m - i*m*n + h*(-1 + n^2)
+ i*o - g*n*o)) + c*(g*h*k + g*i*l - k*m + i^2*k*m - h*i*l*m - h*i*k*n - l*n +
h^2*l*n - g*i*k*o - g*h*l*o + l*m*o + k*n*o - j*(-1 + h^2 + i^2 - 2*h*i*o + o^2)
+ f*(h*m + i*n - i*m*o - h*n*o + g*(-1 + o^2)))))*p


Then, I try to solve it as follows:

Solve[
Grad[Func, {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p}] == 0 &&
a^2 <= 1 && 1 + 2 a b f >= a^2 + b^2 + f^2,
Reals]


If the exact solution(s) can't be found, how about the real numerical solution(s)? Thanks a lot.

• Welcome to Mathematica SE. Would you please provide Mathematica Code instead of a picture of the function (this is a lot of typing....) – mgamer Mar 25 at 16:41
• @mgamer Thank you for your comment. It is actually not a picture but a word file there. – SashaC Mar 25 at 17:31
• That function should be in the actual post since it is not all that large. But the gradient is sufficiently complicated that it might not be feasible for Solve to handle in finite time. – Daniel Lichtblau Mar 26 at 0:12
• Just FYI, the Func is a polynomial function. – SashaC Mar 26 at 0:34
• @DanielLichtblau Just wondering, is there a way to know in advance how long would it take for Mathematica 12 to complete its execution of its solver if it can solve an equation? Thanks. – SashaC Mar 26 at 2:49

(Sorry, didn't understand the purpose of your comment "By the way, I paid nearly \$2000 for Mathematica.")

Try NMinimize:

 NMinimize[{Grad[Func, Variables[Func]].Grad[Func, Variables[Func]],a^2 <= 1 && 1 + 2 a b f >= a^2 + b^2 + f^2}, Variables[Func]]
(*{4.20993*10^-18, {a -> -0.754063, b -> -0.0172513, c -> 0.763396,
d -> -0.647301, e -> -0.490722, f -> -0.122599, g -> -0.686903,
h -> 0.0259991, i -> 0.537566, j -> -0.064485, k -> -0.226188,
l -> -0.0367157, m -> -0.270598, n -> -0.96309, o -> -0.0470382,
p -> -9.82239*10^-9}}*)

• Thank you for your answer. Just wondering, is there any way to find the exact number (an irrational number probably) for the decimal -0.754063...? Thanks a lot. – SashaC Mar 26 at 8:40
• Sorry, no idea... – Ulrich Neumann Mar 26 at 9:41
• Here is another numeric solution a = -0.108371825903906, b = 0.183036421731189, c = -0.321287732364274, d = -0.300042846871963, e = -0.0539627467981417, f = 0.0202299076682745, g = -0.137215427232798, h = -0.236049335717380, i = -0.236071293606814, j = -0.235666224473302, k = -0.234735815328932, l = 0.312652354853718, m = -0.387029122408336, n = -0.385637981205846, o = -0.386981791125416, p = 0.899198837368336. – user64494 Mar 26 at 11:26
• @user64494 Thank you for your comment. Could you please let me know which solver did you use? Thanks. – SashaC Mar 28 at 1:08