1. Divisibility of Mersenne numbers?

Let M_n= 2^(n) - 1 be the n-th Mersenne number.
a) Show that, if m|n, then M_m|M_n
b) Show that, if m<n and m does not divide n, then GCD(M_n,M_m) = GCD(M_m,M_r) where r is the remainder of n upon division by m
c) Let m,n be arbitrary natural numbers, and let d = GCD(m,n). Using the above results, show that GCD(M_n,M_m) = M_d

So I figured out part a quite easily, by letting n=mk and using congruences, but I'm stuck on part b as im unsure whether this can by proved using only congruences or if I need to incorporate the Euclidean algorithm. Any ideas?

2. Originally Posted by morbius27
Let M_n= 2^(n) - 1 be the n-th Mersenne number.
a) Show that, if m|n, then M_m|M_n
b) Show that, if m<n and m does not divide n, then GCD(M_n,M_m) = GCD(M_m,M_r) where r is the remainder of n upon division by m
c) Let m,n be arbitrary natural numbers, and let d = GCD(m,n). Using the above results, show that GCD(M_n,M_m) = M_d

So I figured out part a quite easily, by letting n=mk and using congruences, but I'm stuck on part b as im unsure whether this can by proved using only congruences or if I need to incorporate the Euclidean algorithm. Any ideas?
M_d|M_n and M_d|M_m is easy.
I would try to show GCD(M_n,M_m)=GCD(M_n,M_n-m) and then continue like in Euclidean algorithm. To me this seems as a standard and the most straightforward solution. (Maybe someone will come up with something more elegant.)