At first I was thinking this was actually operating on a binary representation of the numbers. Some interesting things become apparent when you look at numbers in binary, for example, numbers of the form 2^n-1 can be represented as a string of n 1s. From there, it's pretty obvious that if n is composite that 2^n is also composite since you can take that string of n=kp 1s and write it as k groups of p 1s so obviously, 2^p-1 divides 2^n-1. There's the famous quote from Leopold Kronecker, “God made the integers” and I always thought that when he did, he wrote them in binary.