By the first condition we have f(1)=f(1!)=f(1)! and f(2)=f(2!)=f(2)! , so f(1)=1 or 2 and similarly for f(2) . By the second condition, we have n⋅n!=(n+1)!−n!∣f(n+1)!−f(n)!(1) for all positive integers n .
Suppose that for some n≥2 we have f(n)=1 . We claim that f(k)=1 for all k≥n . Indeed, from Equation (1) we have f(n+1)!≡1modn⋅n! , and this is only possible if f(n+1)=1 ; the claim follows by induction.
We now divide into cases:
Case 1: f(1)=f(2)=1
This gives f(n)=1 always from the previous claim, which is a solution.
Case 2: f(1)=2,f(2)=1
This implies f(n)=1 for all n≥2 , but this does not satisfy the initial conditions. Indeed, we would have 3−1∣f(3)−f(1) and so 2∣−1 , a contradiction.
Case 3: f(1)=1 , f(2)=2
We claim f(n)=n always by induction. The base cases are n=1 and n=2 . Fix k>1 and suppose that f(k)=k . By Equation (1) we have that f(k+1)!≡k!modk⋅k!. This implies f(k+1)<2k (otherwise f(k+1)!≡0modk⋅k! ). Also we have (k+1)−1∣f(k+1)−f(1) so f(k+1)≡1modk . This gives the solutions f(k+1)=1 and f(k+1)=k+1 . The first case is obviously impossible, so f(k+1)=k+1 , as desired. By induction, f(n)=n for all n . This also satisfies the requirements.
Case 4: f(1)=f(2)=2
We claim f(n)=2 by a similar induction. Again if f(k)=2 , then by (1) we have f(k+1)≡2modk⋅k! and so f(k+1)<2k . Also note that k+1−1∣f(k+1)−2 and k+1−2∣f(k+1)−2 so f(k+1)≡2modk(k−1) . Then the only possible solution is f(k+1)=2 . By induction, f(n)=2 for all n , and this satisfies all requirements.
In summary, there are three solutions: f(n)=1,f(n)=2,f(n)=n .