You got it right. As you guessed, it's an eigenvalue and eigenvector problem from a linear algebra book. Several ways you can do it. For example, if you notice that the system has a steady state, you can get the answer with middle school math as you did.
It could also be set up as a system of recurrence relations:
G(n) = (4/5)*G(n-1) + (1/3)*R(n-1)
Y(n) = (1/2)*Y(n-1) + (1/5)*G(n-1)
R(n) = 100 - G(n) - Y(n)
with characteristic polynomial x^3 - (59/30)x^2 + (19/15)x - 3/10 = 0.
************
Now the matrix way is to find the eigenvalues of the 3x3 matrix M =
[ 4/5 0 1/3
1/5 1/2 0
0 1/2 2/3]
(which I cannot format properly here, but use your imagination.) The eigenvalues are the roots of the characteristic polynomial x^3 - (59/30)x^2 + (19/15)x - 3/10 = 0, which are
x = 1
x = (29 + i*sqrt(239))/60
x = (29 - i*sqrt(239))/60
Since the only real root is equal to 1, AND the complex roots have modulus <1, you can just find the steady state the "cheating" way by taking a high power of the matrix. For example, M^23 ≈
[1/2 1/2 1/2
1/5 1/5 1/5
3/10 3/10 3/10]
The columns give the steady state ratio. OR, from the roots of the characteristic polynomial, you can explicitly work out expected value of G, Y, and R at year n, where n = 0 corresponds to the initial state [100, 0, 0]. They are
G(n) = 50 + (25 - 175*i/sqrt(239))*a^n + (25 + 175*i/sqrt(239))*b^n
Y(n) = 20 + (-10 - 290*i/sqrt(239))*a^n + (-10 + 290*i/sqrt(239))*b^n
R(n) = 100 - G(n) - Y(n)
where a = (29 + i*sqrt(239))/60 and b = (29 - i*sqrt(239))/60. As n --> infinity, the limits are 50, 20, and 30. Luckily the complex numbers occur in conjugate pairs so that the imaginary part cancels out leaving you with a real (and rational) number.