Factorial equations issues

A very simple equation: x!=\frac{(7!)!}{7!}

It’s easy to find the solution:

x = 7! - 1 = 5039

I used Mathematica to solve this equation:

Solve[x! == (7!)!/7!, x]
Reduce[x! == (7!)!/7!, x]

No one of these functions gives the solution!

Can someone comment this strange?

???

u can use this formula:

Or this formula:

floor(3/4+e^(1+ProductLog(-(1+log((2 ?)/x^2))/(2 e))))

Dear Mohamad,

Thank you for your comments!

But my question is more deep… Mathematica is aimed for different users, including children. Can you imagine their reactions when such a powerful system as Mathematica can’t solve a very simple problem?

What are the real issues which don’t permit Mathematica to solve such problems?

You’re welcome. well, I think the Problem isn’t simple. we only write: solve(x!=a) but the problem is: there is not an standard mathematical formula to inverse of factorial function, you know. for example when we write: x!=a=>x=? and when we use (=) , we only want exact solution of problem but which function can calculate inverse of factorial? none. so we can only use special functions for special conditions or approximate solutions.

It’s important to observe that Mathematica can treat such type of equation, e.g.,

Solve[x! == 7!/7, x]

It gives the correct solution x = 6.

As I understand the equation

x! == (7!)!/7!

may be reduced to equation

 x! == 5039!

by simplifications, and then it may give the correct result.

Why Mathematica doesn’t make such transformations?

Try this:

Solve[(7!)!/(7!) == x!, x, Integers]

Thank you, Louis!

For me is somewhat strange that if we do not specify that x is integer, then we do not obtain the result…

The Set of Reals doesn’t contain the Set of Integers?

What is the principle that governs the execution of Solve function?

Thank you, too. if you know which mathematical formula is used to solve x!=5039! please tell me. Regards

for x Real : x?1

a = x! => x = ?

I don’t know surely how the Mathematica system solves this equation. I can suppose only that the Mathematica system uses methods of discrete mathematics and it obtains the result by applying its principles of expression representation in the “simplest” form. So, in this case we can’t discuss about an inverse function of factorial. Once again, it’s only my opinion!

thanks.

could you please tell me exactly :

for x Real : x?1

  • x! = a => x = ?

You are welcome!

Mohamad, may be the answer to you questions is in Gamma[] function as an extension of the factorial function.

In[29]:= Solve[Gamma[x] == 24, x]

During evaluation of In[29]:= Solve::ifun: Inverse functions are being used by Solve, so some solutions may not be found; use Reduce for complete solution information. >>

Out[29]= {{x -> 5}}

In[34]:= Solve[Gamma[x] == 10, x]

During evaluation of In[34]:= Solve::ifun: Inverse functions are being used by Solve, so some solutions may not be found; use Reduce for complete solution information. >>

Out[34]= {{x -> 
   Root[{-10 + Gamma[#1] &, 4.39007765083314189217115670719}]}}

I humbly thank you but how do the computer calculate integral or series to infinity?

are the calculation of mathematica using integral or taylor series approximate formulas?

Sure Mathematica can calculate Improper Integrals!

Mathematica is a computer algebra system, i.e., it was, from its creation, designed by Stephen Wolfram to deal with symbolic calculus.

thanks a lot.