Select a new value from last $N$ values; how long until the last $N$ are all the same? Say first we have N distinct numbers in a line, like 1,2,3,...,N, in each round, we choose a random one from the last N numbers, and put it in the end.
Asking the expected number of rounds to make the last N numbers the same.
e.g. for N = 2, first we have
1, 2

and if we chose 1, we got
1, 2, 1

and the status stays the same, since the last N numbers still all distinct.
and if we chose 2, we got
1, 2, 2

and the game ends.
Suppose the expected number is S, we can write
S = 1/2 * (S + 1) + 1/2 * (1)

and we get S = 2
Things become very complicated when N > 2, so I turn for help.
UPDATE:
this occurs to me when doing a project, see this if you are interested in.
and i just wanna know whether it can be solved in a graceful way, or in a hard way but get the answer finally, so i don't need a numeric answer.
 A: This is not a solution, but it might be helpful, and it is too long for a comment.
Your $N^N$ equations can be simplified, because you can exploit symmetry in the structure of the problem.  Say that $L(S)$ is the expected number of rounds for the game to end after reaching state $S$, where $S$ is some string of length $N$.  Then:
$$
\begin{eqnarray}
L(AA)=L(BB)&=&0\\
L(AB)& =& 1+\frac12(L(BB)+L(BA)) \\
L(BA)& =& 1+\frac12(L(AA)+L(AB)) \\
\end{eqnarray}
$$
Notice that the equations for $L(AB)$ and $L(BA)$ are identical, except that $A$ and $B$ have exchanged places.  So by symmetry, $L(AB)=L(BA)$, and we get:
$$L(AB)=1+\frac12L(AB)$$
So $L(AB) = L(BA) = 2$.  This tells us that the game ends in 2 steps (on average) from both these states.

Now we can consider the $N=3$ case.
$$
\begin{eqnarray}
L(AAA)=L(BBB)=L(CCC)&=&0\\
L(ABC)&=&1+\frac13(L(BCA)+L(BCB)+L(BCC))\\
L(AAB)&=&1+\frac13(L(ABA)+L(ABA)+L(ABB)) \\
L(ABA)&=&1+\frac13(L(BAA)+L(BAB)+L(BAA))\\
L(ABB)&=&1+\frac13(L(BBA)+L(BBB)+L(BBB)) \\
&\vdots&
\end{eqnarray}
$$
This looks awful, but remember we can simplify.  There aren't 27 variables here; there are only five:
$$
\begin{eqnarray}
L(AAA)&=&L(BBB)=L(CCC)\\
L(ABC)&=&L(ACB)=L(BAC)=\cdots=L(CBA)\\
L(ABA)&=&L(ACA)=L(BAB)=\cdots=L(CBC)\\
L(AAB)&=&L(AAC)=L(BBA)=\cdots=L(CCB)\\
L(ABB)&=&L(ACC)=L(BAA)=\cdots=L(CBB)
\end{eqnarray}
$$
This allows us to reduce the original set of 27 equations in 27 variables to five equations in five variables:
$$
\begin{eqnarray}
L(AAA)&=&0\\
L(ABC)&=&1+\frac13(L(ABC)+L(ABA)+L(ABB))\\
L(AAB)&=&1+\frac13(L(ABA)+L(ABA)+L(ABB)) \\
L(ABA)&=&1+\frac13(L(ABB)+L(ABA)+L(ABB))\\
L(ABB)&=&1+\frac13(L(AAB)\hphantom{+L(AAA)+L(AAA)})
\end{eqnarray}
$$
I tried solving these with pen and paper and got $L(ABC)=\frac{27}{4} = 6\frac34$. I might have made a mistake, of course; it is after midnight. But as a proof of concept I think it was a success.
Anyway, I think the technique is reasonable, and it will reduce your unmanageable 10,000,000,000 equations to a much smaller set, maybe only a few dozen.
Addendum: Sadly, this only reduces the $N=10$ case from $10^{10}$ equations to 115,975. It brings it into the realm of the feasible, but not nearly as much as I had hoped.
A: the only way i've thought by far
let f('1,2,3', 3) be the answer for N = 3, and it equals
f('1,2,3', 3) = 1/3 * (f('2,3,1', 3) + 1) +
                1/3 * (f('2,3,2', 3) + 1) +
                1/3 * (f('2,3,3', 3) + 1)

see all the f('', N) as unknown numbers, and for a certain N, we have N^N unknown numbers(if consider f('1,2,2', 3) and f('2,3,3', 3) as different status). And for each of them, we can write an equation with some of the other f()
N^N unknown numbers with N^N equations, we can solve it with Gaussian Elimination
It can get the accurate answer in fraction form, However still can not get the analytic result for any given N.
