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.
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!
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}]}}