Quote:
My current code can run for 9 letters, more than that and it won't run.
"It doesn't work" is probably the most useless problem report we get - and we get it a lot. It tells us nothing about what is happening, or when it happens.
So tell us what it is doing that you didn't expect, or not doing that you did.
Tell us what you did to get it to happen.
Tell us any error messages.
But ... given that 8! is 40320, 9! is 362880 and 10! is 3628800, the most likely reason is you have exceeded the stack size and you app fails with a stack overflow error - because each time you recursively call your function you use a not-insignificant chunk of stack space. And since you loop loads inside the recursive part, it's a good guess that that causes it.
And also causes your app to run like a stunned slug on Mogadon as the number of characters rises ...
Use the debugger, and see exactly what it is doing.