Source: http://www.fil.univ-lille1.fr/~wegrzyno/Stage_IREM_2011/Mult_Expo/multiplication_exponentiation.pdf