Suppose $|A|=n, f:A\to A$ is injective $\implies \exists k\in [n]:f^k(x)=x$ 
My Attempt
Case 1
Suppose $f:A \to A$ is an identity function. then $k=1\in [n]:f(x)=x$.
Case 2
Suppose $f:A \to A$ is an injective function and non identity function.
so, there exists $x\in A$ such that $f(x) \neq x.$
So, there are $n-1$ possibilities for $f(x).$
if $f(f(x))=x, $ then $k=2.$
so on. I am not able to complete the proof. Is my method correct?
 A: For fixed $a$ we have a chain $$a,f(a), f^2(a),...f^{n}(a)$$ $n+1$ elements from the set with $n$ elements, thus at least two of them are the same, so there are $0\leq i<j\leq n$ such that $$f^i(a) = f^j(a) $$
so $$f^i(a) = f^i(f^{j-i}(a))$$
thus, since $f^i$ is also injective, we have $$a= f^{j-i}(a)$$ and thus $k:=j-i$ does the work.
A: [This is, at bottom, the answer Daniel gave in the comments]
First note that, since $f$ is injective, there is a function $g:A\to A$ such that for all $x$ in $A$, $(g\circ f)(x)=x$. [In fact, since $A$ is finite, $g$ is actually the inverse function to $f$, but all we need is that $g$ is a left inverse to $f$.]
Now given $a$ in $A$, consider the $n+1$ terms, $a,f(a),f(f(a)),f^{(3)}(a),\dots,f^{(n)}(a)$. These are all elements of the $n$-element set $A$, so two of them must be equal. Let $f^{(i)}(a)=f^{(j)}(a)$ for some $i<j$. Applying $g$ $i$ times, we get $g^{(i)}\circ f^{(i)}(a)=g^{(i)}\circ f^{(j)}(a)$, so $a=f^{(k)}(a)$, where $k=j-i$, and we're done.
A: For any function $f$ that maps a finite set $A$ to itself, and any initial value $x_0$ in S, the sequence of iterated function values
$$x_{i+1}=f(x_i)$$
must eventually use the same value twice: there must be some pair of distinct indices $i$ and $j$ such that $x_i = x_j$.  One way to visualize this is to construct a graph and a directed arc exists from $i$ to $j$ to $x_j = f(x_i)$, eventually some node must be repeated since there are only finitely many nodes. When we construct such graph, in general, we might get  cycle part plus a chain part that is not in the cycle in general as the cycle need not start at $x_0$. Let $i^*$ be the index where the cycle begins.
Suppose $i^*$ is not equal to $0$ and the period of the cycle is $p$, then we have two preimage of $x_{i^*}$, that is $x_{i^*-1}$ and $x_{i^*-p-1}$, this would violate the injective assumption and hence we conclude that we do not have a chain that is not in the cycle. Hence $S_a = \{f^{k}(x_0): k \in \mathbb{N}\}$ is a cycle.
Hence, we can conclude that there is such a $k$ such that $f^{(k)}(a)=a$ where we just have to pick $k$ to be the period of the cycle.
If we want to prove that a common $k$ can be chosen for all elements, we just have to pick the least common multiple of all the periods of the cycles.
Here is the wikipedia page of Cycle Detection Reference.
A: Since A is finite and f is injective, f is a permutation (ker (f) = 0). Every permutation in $S_n$ can be writen as a product of disjoint cycles, that is unique up to the ordering of it's cycles and up to a cyclic permutation of it's elements within each cycle. There is a cycle in each orbit of every $a \in A$, and that cycle has at most n elements thus $\implies \forall a \in A,\exists k\in [n]:f^k(a)=a$.
A: Define a graph $G$ with vertices from the set $A$ and two vertices being connected iff one is image of the other.
Clearly each vertex has degree at most 2.

*

*If all vertices have degree $2$ then this graph is not forest, so exist cycle and thus a conclusion.

*If some vertex $a$ has degree $1$ then $f(a)=a$ and we are done again.

