TODO: NOTE: currently my "primitive roots" are actually just the numbers that generate every integer below the modulus, that is `a` such that `orbit(a) = Z_n` 1. How I'm calculating something as a primtive root, and its order is not correct. For instance, consider a modulus n=4, a=3 is a primitive root, and a=2 SHOULD have order 0 (it is aperiodic) This site is useful as a reference: https://owlsmath.neocities.org/Primitive%20Root%20Calculator/calculator