<?xml version="1.0" encoding="UTF-8"?>
<Worksheet><Version major="6" minor="1"/><View-Properties><Hide name="Section Range"/><Hide name="Group Range"/><Zoom percentage="100"/></View-Properties><Styles><Layout alignment="centred" bullet="none" linespacing="0.0" name="Author" spaceabove="8.0" spacebelow="8.0"/><Layout alignment="left" bullet="none" firstindent="0.0" leftmargin="0.0" linebreak="space" linespacing="0.0" name="Heading 2" rightmargin="0.0" spaceabove="7.9992003" spacebelow="2.0016"/><Layout alignment="left" bullet="none" firstindent="0.0" leftmargin="0.0" linebreak="space" linespacing="0.0" name="Heading 1" rightmargin="0.0" spaceabove="7.9992003" spacebelow="4.0032"/><Layout alignment="left" firstindent="0.0" leftmargin="0.0" linebreak="space" linespacing="0.0" name="Normal" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0"/><Layout alignment="centred" bullet="none" firstindent="0.0" leftmargin="0.0" linebreak="space" linespacing="0.0" name="Title" rightmargin="0.0" spaceabove="12.0024" spacebelow="12.0024"/><Layout alignment="left" bullet="dot" linespacing="0.0" name="Bullet Item" spaceabove="3.0" spacebelow="3.0"/><Font background="[0,0,0]" bold="true" executable="true" family="Monospaced" foreground="[255,0,0]" name="Maple Input" opaque="false" size="12"/><Font background="[0,0,0]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" name="Text" opaque="false" size="12" subscript="false" superscript="false" underline="false"/><Font background="[0,0,0]" bold="false" family="Times New Roman" foreground="[0,0,0]" italic="false" name="Bullet Item" opaque="false" size="12" underline="false"/><Font background="[0,0,0]" bold="true" family="Arial" foreground="[0,0,0]" italic="false" name="Heading 2" opaque="false" size="16" subscript="false" superscript="false" underline="false"/><Font background="[0,0,0]" bold="true" family="Arial" foreground="[0,0,0]" italic="false" name="Heading 1" opaque="false" size="18" subscript="false" superscript="false" underline="false"/><Font background="[0,0,0]" family="Times New Roman" name="Author" opaque="false" size="12"/><Font background="[0,0,0]" bold="true" family="Arial" foreground="[0,0,0]" italic="false" name="Title" opaque="false" size="36" subscript="false" superscript="false" underline="false"/><Font background="[0,0,0]" bold="false" family="Times New Roman" foreground="[0,0,0]" italic="false" name="Normal" opaque="false" size="12" underline="false"/><Font background="[0,0,0]" executable="false" family="Times New Roman" foreground="[0,0,0]" name="2D Math_1" opaque="false" size="12"/></Styles><Group><Input><Text-field layout="Title" style="Title"><Image height="78" width="800">TUZOV3RLVWI8b2I8Uj1NRExDZE5WWlpKOnROPkg6eFhWRXJwczo7Qk5TRE9FVGxNWGxnd2dpVzttRFtVVVVXVXNLaXRVZl1XZnZfaXZtaXhvWUtFVmNzSXl1eXZheXZVSXZfaW9peG9PV2tneHdpeXdPdmVDSHdnSXhpSXhteXFBWXNdSXdnWXRVaXVJWHBDSUZpU0lhQkFBc2E7R2JZeXZjaXhxeXhlWXdleXVZeXVXZE1XVHVVWXV5eXl5QTs6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6OjpaamlmRHFFdGtdYE5cXEBOZFxcUWdxeEhgandoU1dEUVZ5UHhQTEFJWFVgd3l5eVNVdW5gcltETlpdV21ValB1SlpdWV9sU0xxcVdpb1N4d3d0TEVRbEBVTkdpT0NAWHlRalhMWWJJdk48eHdhTG5BdD11T1pkUW5BdEU8U0lkUW5RSkxZUklkcTpgeEpZcnlxSkJoeU5Gdkw/Xl5Zb09BW3lZZWxvZmlHYnQ/d1t3W1BoZEs/Z1NPXkRHcExZZUpwXXQ/ZmpIb1xcSV86eW87SF1cXGBcXDpHb0RGXWBocUVodD13W0ZfYWxTPXdVVG9UdE9IUHdDYm9yWVt3Oj1FcFlkUllyWU1DaEtkRT9CRG1pZEtHPVFzQ19ZUm1IblFCTFlyP1FlRV9YX2tyaWdlOltpQlljZl9ERGFHZVNzXFxlVFBPYl93WXJ3c1hpcmRJdmlHYk53R107VFllVEttZ3l3dkpHQnN5Q3ldVmxtRmV5RVF3Y1g9amp5eDpgc1FNUF5cXFlQaG9fVGs+eE1zbXRzSVBNaEttWUx3TVh3SVdYcU14cVBJVWtFUVQ/bW9EaHRIRW9fbFlAbVFIUXBaRHlMVXJZSHBuPHlSdXRuSFV2PGxweEtZUFd3SVhSX3BgSWBwWGZXT3l5PmVNeV9KV3U9cWFSPnBwVnhPXmZ1bnI/R2BIdl5RaWFddnV1b2NKcHdVUWRUZ2RgX21leF1UdmZcXHhmcmhkYlh2cEllX0hzW0lpSD5uVW9udkBiS3BpWkh0WGBpYmhmS09gSkZkUFBrSXF2eV5xPD9tQHZ1dkFba2BmRGhia1lkTnF4al9jPl9mT2Z2X3dkeF5fRT91WVh5UUBvbEZxWUlmO19lXUl5UFZxbm9zZlB5SkFePWFzdXFbamBaUj9rRV55akh0SFFnT0h4U25cXHdZb0loYFRZXFxGZ2BSeGBJcVtWd3E6QF1UeXliUXh2QF1rPmtpdmRhWVxcdWlcXGRXaXJuW1BxclRncFBZYnhedHZGZmtXWmJpaGxZYT5eYktAd1R3c1Fodk95YkA/XWdxaHdvbW5nXz5vZz0+d3BHYXJBY11oaWJBeVhAZUxvZ1FuaGx5a0Q/czxfY1xcPmJAUXV2QV5reG1ecHBBWHZqVlpzRl5BRm9eX25WVmZsaXhyaWZoYXFpP2JISVxcSmZfXU9dc15gbHlzc0FzcF9iPUlaXWFrZFBtSm5pQXZeUG5hTkF3OkdpPlZxbWZ2Ukl1eUZfW05tcFFqYz9wSXFeUFdqaUZkVVlyYz5nbFBxaFBbQj9qTE5xS0F3eXhuVmhxXFxhallRXlpGVlF4az9lO19mQFViSVNzPz9UPGFCdz1mS11VeVl5W29SQU15Uj1Id2l3RVVIZm1SUFN0eV1Uc1N0YkFIeFN1WU1zXnlHS1V1PUlCPVF4ZW1VQT1ycndJO2FJWD1CSj9iXnNzW19UWEVZVENlRWt1R2dDTmdlRUtZOnl4RUtCTFdibXVCSGt2ak9ndmFjSV9XPV9kR2t0UmVnWXdyXVdGUT95VEtCQlV3SVtIVFlyQnlHanlGXFxXYndndnddU3hhd2FhV3M7eUF3VENBU155eGQ/WGQ9c0JneVJhRFc9RGpzVDo9aFxcS2dtTUdbYXZcXEtkXXNUSkVjdltkVjtmdmNoO3dTOl9Ea1l1XVF3T0NkTztzZz15b2V5dFNHYGtJbXNGeW9nXj94RU9CTENGVmlESWdJQEd5XW90XmlyUDtISz9oWk9zamdTXFxvSD9FVVN1REdNVUF1RkpJSGlfRktTV1V3UlRbaG89U3VjY147SXNfVlRVRT1JQ29TSXN3Q1dxUlpRRzxfaVVhY3JDZWhPY2FJUld1c3BxUmZZVEBjY2ZNdWhzeUNXclltSVBLSWJRaGRDZWhxeFxcc3Q/XURHXUVxTUlGWWZXXXJnVUNicXZJR1Nnb2ZMV2dgYUhKS2RsdUVxRWV1PWl4a3dRU3RyU1d0V2djZ3dKU0lHa3Veb3hnS1Z5UVdaRXReZ0JlS0daS3hjZWQ9SWRUT2hKRWZSW3hyTUJrS2debUdKXUhjW3RyT1Q6X1I/ZUZkX0ZWQ1haQ0Q/UUNxU1hdWWV0R0Y8RXVRZVVmY0NMTWhqR3ZWS3NfU1RrVXdeXUNFVUVsW2Y8P2hORXdkb0g/TVdmXUZiZXNQS1Vda2dIXWJTRVM7UVZWP2hIcWRUPWNlP2JwX2g9R0d1cUdEW3lAU1U9SUZLRXhFZVVXQWhOTVhed2RSWUZJTWV2S2VIWVdTc0NsW0hHYXVbQUVaaVJfaVRKVURTXVlja1hzb1Y+XUdCcWJAO1ZNPURsdVZIZ1Z1UWVEcXhMVUVdXVdTQVJfb0I/b3hMZ3I9PXZxa1I/TWNQQUVHXVdCS1ZQW0hWT0k+SXJFdUJrVWNxU2NrQ3dwc0ZvX1JjP2VCW2hoQ1hZU3JGQ2hWQVN0W1VVV1dzXWNlWUJoeUQ+YVVUTVdaO3ZEb1I8TWlnUUR1X1R0Q1V1UWVUcVhMT0k+UVZfQ2lJXXdfQ3J1RUhvc1J3b0ZmP0VjUWlKP2JoPHJUdVhbWG0+UU4/WXROZHBQUU1TeFVNPExxPXFASU5CQUtFVEpCaHhTdExzRXE6XFxWbVlNY0VKdkxNYFxcam9BV0tsdkxgb1RFeGJxUmBgdVJxSzs9UFg8TEF1c0NoTz9AbU5FamVhUF1JU1docEB5V2xcXFdjPXk8UWxQWEpRdVN3bFc9eHRZeXZKSE9UdEs7VFc+bE9JRE9EVEpaeU5vVVBSTHhIbHdQZWxLeFQ7dG9SRXZcXEFsY11rYnBwZmB5b2x5dlB2T01reERLPl11XFxFVkNdTkFhbkFZYz1GXktfdWRnZFtRXlZpXkRyPlt0Uj1IXFxhR18/R1RbcnRTcnVbWEJ1R0RzVUthZz9RVUVHRUtDaWdjR01lWW9HQjxVUkJJYltlYnZZRkFLYkd5R0s9Q01RQ1FdQ15bVWtVVEZjWFZFaD1dZzxbVkRvQkFJZ095WENnc1FzZGBDRmM9dWpRSEtdWWM7eE9PaUBZeGxPRlhFYnhPR2VDczxraGFJUlZJZ09tcz1lVE9JeVB5cmZ5QnRxdFZ1eVJFeTpvclBjZVxcSWdxa2JWTVVaQVg+c0hzVXVPa1lxQWdDPXN5b1lBc3ZgS0NoQVheV1JdX3h2Y0Zfa1JnQWNeSWNQW1NJX0RbVWY9TWVyb2ZjUUdvWUJmY2NhW1RpRVR2YWU7PUhHY3RhcXZ1V0hkO0liQWlKRVlkeXRHP2hCb3JkVVRYV0M7ZWJjaXNMW1V4WURDW2drUXJITWdIcWVibXJpa3ZqP0hyU2lQeXJja3hrQ3dRQURDb0llRXZiVWJHQWJvUWhYRWhbO2RcXEtISG1iX09GdFd1X3liX1VjUk90bndiUVVIakV1TD1VcF9SYj1VWUFnVU1FPmdDQWdDaXlTRW9zRVFVR3FkV01XcT1jP0VyS01XSUdGd09DZUd3Xz9jQFlCTT1zYFFlcz9VYEd2RElHdV1EaF9VXFxhRUNRQ2tpZ2BLWV5JZDxVckZTR2RpZENRZD93dmpzZ2pvY2Bhdj9BQlVjQ3FrRGJnVVFtWWRXVHlVSElFSV4/dk89eHJJWUBfSVhLeHlleTpXeV1ZUnJ1eERpR2lTdj91aUhHYlZRbDpES1tIbXJwUEhQcV5QbEVcXGtBTWt2bUxMeWxGQW9rbGpjZXY9bHFpPFlXdFJMZXdxSVFQXW51VGpTcXZvXXhndHI6YFREZW9zYHFzWG9VdHNePFFWQUtkPWxIRXdSUU9WWXFFeVRvYFk6YVlOUEtoXFxWPkFzTlF4O1R4cmRXXllKXnRqYVxcdkhkbmxVa1Jla29ZSnZYT1Zlc09xbFVNTkBtUG5VUG9YbVRAanRtVWRwS29IeGhtdUQ9UUhld2tcXG5CbE9odXFXWG93eXM8XFxWUGRrWkFKZ0VSb2BSQGV2W2V2cFRxYGFTeDxOVUF2eVVyYV1udnRSaUh1QlRRSVRzXFxxVlxceUxsXXJhWHRcXEBQQ0hTQHRyO1xcWG1EUztYbUZwVlJ5WHVIaklNS0JgbVppdlc9TkhUU0FcXHNycHRnTW1JQU5xZXVZQHFKTU9GaHJ4RUxpXXZvbXJQQGtnXVRFTVNORVhyZWxteXJveGtVXFxZeU1sbT1LYEF2dmFYV21LUXFtQTxRVElVXklRaG13XklZSFFxXlxcc1dsbEVdc2tscz1RWXdBUnRwVVBIVldpbj5US3llcWBETGtZUEQ9Vll4T1VpdTxRVG89dT1QVWNZWEx5a0VNbUJIWXd1T1Nkc211dV9kUm1dV2xwTElcXHhLbHF5QEteQU86SUpcXGFvO1lzZEh4UkhwT0B5REBMP0lwTHhyZFVwX0h2Y3B2Z111RVFWS1h3dmRucGBWTnFWVkB0W2xMX2lvO3FPSVVOd0xTZmlKOm10PnlWVHFOZ01Wb2FvUF1STmlWRFFPYEBWRGlzZEh5d3RZO0BWZnRMcVlsc3RyRTx2aG1yQmltVU1yPkVrSkF1R3h2WWlZSm1XeHhZcWRqR3hLbF1UQFFQVllPWWBMSmBtYGFqTlxcTUJNVlFteXNMTkRZc3E8b3BZeVNEbWBBdlBAcUJIbFBpT1xcQXg8cW9cXEBZZVhyU0hQUkBWZVlWR0FTcnhRWllQR3R0c1BrXWVMRWhXbzxQR0FQP1F4WkxYWDx1Y01TXFxsSnlkU1NNd0dAa1FMdmpBTVdUeVV0b3hVTGtVUFhUdTxQUVxcaHNhUGtkUEtOaHVIZGtBdHVDUVBaUU1LRFN2UVZQWXlwTFJUeHlNVFBWTVVVaHFzbW1EcG5jWWxYPU5xbHFreFJwZFBPZWtSeE1wQGtTbFVdSFc7eHQ/PVNfTG09QXRuYExxVVFFRVZCQVdCVW5uPXRCTFh4cHRGYE5TQVRkVU5HSFRFPFdOSU5QeFdOSVJHZXdKVE53SHU9TVlWQHVFQEs8TU1fZVNHRWtfRFBAYVZAbWxAPUxcXEV1Q1B2Y3l3U3BrYUB1W3RRaERwPGVTQEF2bUBVXFxNdj1BUVpEVztNTXdVa1E9bT1hVE1BWV1Mb3V1UzpNTlxceVBzXFxRWG1QVkl3dnFKb1BNVElwckFzXlFSdmxzU110TmRLQ0VsP3hUd21uW3Byal1XTXhLT0ROSUlMXkBzbjxZZkVrWEhRTmRRTXRXTGFQTVFMcVVUP015WnRXVGFSQ1Vsa0BYO0BtV2RLP21uVkRsRkB4dnRMVlFRc0ltXlRXczxvWD1LYUV1RWhZRUx0YF1RckB5VEhYUnR4Qlh1dkRyWmR0Xk1uVkhYSWFSeHFMS0xTR0FTTUh3XUBqZHlyTlRNPT1zZV1yYF1vRzxLXFw9VlBgWUtEalh1VHVJakVAd0NRU3hkTV5Ad1BQUz1Nc2I9az5MT1tcXG87dHNtXVVDSUxkRVZqPFM7UFRFaU5VTVZNbW9QdUpHTFRIVE5HcFhLUEtnRHBKbFVUSEtzdW88UGNKbl9jeHBARndhZ1pOWV9XcGVNYHFBV2ddaFxcZklzQWBiWl5hdGl0dXdgPkFpYXloW1ByRVFpZ3BiTU93eXZhSnZ4OkhnYllnO1htPE9yTW9nZFB3XFw+Xj8/a05GYVZYcUdQXmR5WndGcldHeEtuW2tmZ0w+YEdZblBZa2R3YktxYllYcHBoaE9Hcz55W1tGc3VWXUF2Okd1VktHWD9ydG1iVT1VQXlCWFFWSU93RHFFS0lFc29lOmFkXWtYSmF2UkdkZFtCd01jdUVZXFxlRURleF1bZHhPZV1BdVJJZEJLdlNbRD5DWGdBVkhdQndVVUdzQllpeEJ5ZlZ3dnJrU2FdQm1HV2djZnFfaWw7aGdpZzxBUnVhckh1aE5RZHFrSGtLV3FBZHBFY0dvR0NNSV5pd2FXY1d5RlNtU2xxc0lfV21nR2NxZVZpc21xYm9XaFlXR2RXU0ZHQ253dmtPSD9rRlBDc2pvaGFhRG95Z0I7Y2VzUlI9SFBBY0FbaXZhck5nckdReWY7Y2VbY1NhYj5vRjxlWEpdYkE/cmdJVUpLZXRtc2NxQ3FFVUxtVTxNZmVRd3J5dEtzWHRzdmd3ZlI9c3NlZV1lVnI9aVhnVHVzUkVLSXJhd1ZhZXNvRFtdeXFBZ1Q9VkU7WHdnVFg7Q3NpY21zaFpJeWhddGY7RD5hZ1lrU1o7Y0VlZU9VYnBnQktdQ15jY2g9WFtXY3c/VEtdRF9rd1pjcl5hSU1haXZdZ0M/dVJbaUFlR249Z1dJUkRZeGFBZ0x5aVVbY29zZlRNc2BXSEVDZVdpaFpTaVtTU0g/dkRdQ0NTeUpTZUxhd3A9ZEJfeE9PeEtxZ0BjeV4/YmJfd0pTQ2BVWVRbYk5FR2RdSFppSU9BYlZPckplRWNLSWo/Rm5hV2dBZWxTQ0FfV0tddFxcQVVBcVNNTURoU1ZSZ2VwP0JGTXVda1JEa3ZPS3dgXWl5XVNzQXhuVXQ+U2ZpO0lXdXV1R2V2PXJoV2RAcWdnWUZIdWNyPWZmb3ZMUUJfW2U+PWllQXdqQWRcXGloRFV0T1NIRmVXXndpQWVXbk1DY3NYc21oXW94Qz9nXz9mWWdybnNTdmd1dU1iW0lmP0NmYG1SUEV2WXVzbDtYUT1TcW1EUkFzdWN0UEd2c2d4SGdCS3VpXFw7RnZdR0xBRF5bQ29NRT4/U09XVWlnVEtVWVRZRFRjSVZDR3Q7YEZPXVVma1dWXkd3a2FXYHVma0tQWnQ/XFxEd15vT19cXF5pd0Bibl9tdk5eXT92S3FjYHZgdFZzPEB5Zk5fZWBcXER2c0ZnYGlZY0xIdHdfYkt3WmteaEtWbmhWZm1nXFxzSXdRUGZBR2BQbmh1aWtqd3c9YXRYUGJkd2VOQGpOV3VHYGFnaWJeVmlZZmVhUGlyP2c7X1s9T3I6eFxcdnFpPWlxWmlaVHZrQGFmWHZwZHFsU1dcXGlweWRhcllHXFxKRm09WV94Z2U/X1pCcWNESF9Od3JOWHhrUG49V1tsWW49YV89SFpbaW4/UG5BYXlUP3l4dmlpeGJoWHI7aWdkSGlvb1FdZURXZmJpRkBTeD1jdHZ3dVtRV0lpSV5zRV1XclBbRWJNdWdXUm5zQmRbeVJbZD9ZVT1NeWJjaGFkcVI9bG9NdndEU1dZUFd4UlxcPUxPZFdqPExJbXVMXXc8WE5BRVJPaHdLSEx4bUtmdFN4WVVmPEtFTXh4dExObFlLeHI+dVF0cFRWWVV0XFxtdWRUYVxcdF1lblpEUXBgWWtxU0lAb11xT3BgbG9dUEN4eHhBa3J4eF9Ec1RJbVFIU2F5VGhhUkVcXEpMdHB0cVJBdVF5WE9OZFV5VU47YXhbTVdzeHhOPXQ/PUpfeVU/UEs/UXg6SG5fWU5rPFNMSXlcXFVVRFlPaGh2Ok11Zm1Na0lPclVKcVhzbERyVUB3WXFRRWhMS0FrW1hua3F2X114Y1VLbD1UYUVuVUVOUG12SGlwVnBTSFl0Y1BRS3hUSVV3YFhYZUFxW2lYeWhxWGRXXXF1U2xrdVVOVFF3W2h5V2FsUkVTUWhLdWRNUHVSTkhRVlRwWjxWQUhuc0hsWXh2Xm1tVkhKdERZb1R3XWF0XFxYWF5ZeTxMakpga1ZAb110Uz1YSnFNUV1FcHFgc1ZJSl5wV3RQS2NMbWtkTklodVo9V1l5dmhUTnJwVFBpTXdUUWFxcVpFUm5YamU9bklgVXg9cFB1dHRdWF5Ad0dVS0x4als9cUpRblldVk1MVUZNcnFgd0lEc1hoUGNAUVxcQXlydFR1SE49SWtmZFVlcU9bbExxUXBIdHY9cUo+cU5ObVJVVUxeXXdSVExEQHFdYHNXaHhrVEs8aE5eZHJ4UW1rQVJGUXJWQXBKWFlybExXaFZLcXNgcHhSTFR3dVFqZHFmPHdSPWxPbXVfXU5cXGFYQ2lzZ21KdERYc2RVdFVMPFBrYFhwXjxVUlB1RVxcVHlAVUdES1hNS2xRTTpwdDxgbkh5dmc8a0V5bl5sVkZJUT5xUG51d0JleXJ1VG1IWW1YSl91ckRwS3FJUnBQTEx4UlZdSnRMU2t1anhtb2tFbHhNdXhBWE5ZV2NoUD1oUlh4VWpwdnFxbkdFbnY9WWpRclpUUF5lcFRxamFcXFBGRFludWNTUGRpZmxWZ1tqd1tId1xcal5fb3d1VlBkZmdfQ1ZnZFhuSGhoa1F3TVZzaGdaVHhvbFliaGBvakhxd19gZVhaXFw+d1hPbmVgbT9nb0xfd09uYEJ3YGFfdmZ5eVhHdUpHdWdmc29gbWdpdnRIbVheY1NwbVFhZlxcXl1ueWg9b1p4X3dQWG5PaXRyaWI6WHdZT2hwV3ldcWRsV3Z1YGNYPl1KZ3NtPnRkcXNzbl9GP2FuZnlOaFpLZ2dcXE5nRHlwO0FoOl9saEFzW3Z0REZcXE13aFxcZ3dCQWxbeWJNWF4/V2VdWWRFblp3aHk6UXc+YXV0QF9sT2w6PmhmZ2FveHVGUWJLbmJZSHBIUW9id15DX25XQHFEbnBjUXFFR2F3VlxcYEBybnBjbGhjaz5eWEdkTkBxZEF1W0ZmVUledV9cXDpgcWZ2cT9fc29HXFxVZ3VBQVxcQW5da1BsRk5kQkBzS1ZwZE50SF5nQWZvaXBkYUdkRUdsUHdiSlB0W09zUW5eVU5gbUZaWnZsbm9iPnlnTF53V1ltXFxWaGVWZU1HalBockpIZW5JYnBAeFxcd2VdWG9jYGBocGVgeHA6dnVYd2VNWWdbUHFUcG5pSGBvb1tKZ110P3NpQGBwdm9mSXRzblxcXklkYG92VmFnQXFsYUl4VkBdalZdZHZhUUZhbF9oYm93QU94RGBfYVlqSmhsb3FrV1lsSl5mQWZiaT5sTVBgUU5mW2dyWD5yQF9uSF9qX2FeVE52b3hpSlZyc15ldVBjb0BcXFFPW09fcEU+Z1lQbUBfbW9QXlVRX0JwZkVOY0hgak1uWmlZdG14YFZPZ3h2XFxmT3Fob2RAeW9XQW9ITmteV2JDWWRzT2hyeWdKbmRLdnFWWGJSQF1pPmpBSHlXXl1oP11meGdDSWNObl1Jb15sTndIRmY+QGdZQWtRVmNEQGlCP1xcVUdyVFZeaGZqRGlmZ155dEF5SXZcXFFgbXlWeGB2X0RRWlxcSHh0YF5RcV9zUW1AaGRDbnRUQGM9eGZnQGBVWW9cXFl4eGZwZ1lqSElgZGdnWW9fcWB0aEleV2BhPUdyQmhlVVZvUHdraHh5ZEdaU15ucD95Rl5tR2hodmhdVElePHFod3FeSEZcXHNRcFZHdG9vW0dhYklWXFxmQGZCeXdDP2pPd29HRlxcY0Z5cW5tbU5oZXduOndrZnhvYU9pcGhvOndfXnddR1hpQF54aVFlcUZpT25fZ0Feb1ZwVVluPE54RWdsP0lpZ2lgWlFobEd1V292QV94bmFcXFhOczp5Yl9QcHJYXkdpdjtGaHF4ZzxJdGVeZERGYWpIZlN2b1FZaT9XeFpQZGNJX05HbT1pWl5JdmA+ZFk/cD1xaG1QcD0+XU9gYklRd05nZWxRZD9WYllAaV9PYFxcSWJESWVaZnJtcGJsdmxaZlp5XnN2bnNuSWhtTmhbYXBqVmJtVmZVZlpbQXQ9YGZCZ3ZLZmdXeGtiP2Nmb2pkR3ZyaGlMZnZgWV9DX2RpcGdYd29DWHRzSGxcXG5dTlBabU9geVdcXGVeaFRfeERGbGhgW1BJXlpucFdwbURnWj1fY0dmY2NWdlpubkpZa1ZvZmdeaGxXdz5wYVxcYGxNcGZIUGpDUGo+R2ZuT2BUPmljdl1bZmpAdmt0UHJvbnltUFRnZGJQcD55TmRUbnBkb3JRbVRheTpEb0N4cmBpUD5RTGNoTkBEWERUcnlYeUldakc8dUVoTEBUdUE9bGV5T2ZcXFhyUHRacE9pbVlpcVFnUXJxWHZybFdxdXF0TFB2UXlwXXI/UVlOdXJgdU5XZVJgeHFeSGpGaXBnVVlYRHNBWXhOVHJtQE9KcVBJWW46ZW9GTVhZRXRjTFBScUxHSHdLbG5hVU1wSG9jTXdOPXlaVmZFXl5fSXFcXEZuQ19jVEhobldzVz9vTkBuYlBdXWhydkdicz9vcW5tQl9hW3h2bj5mY0BfRU9pPlhoTmZwdVZhQHhoTkljXm9ybUlxZmZvRl9tZkhjZ3lkZ05dX192OkhbcEBfUl5eS2BdZWFvTWlqUldcXFpPeWBoaEFwZVVwbUJoYEBAbVFgbltmaE1xYlRfb09maEVwaHRBbGA/bG5pZGJAdmh3YnFeeFZHY21vYG5odUphdmtOWkleYDxnZ2hIb0Q/YGhfbUlReUlIcUZWZ1txX1Rfbl1YYl5IXFxTZl5dbnRgd2ZXb19WbnZMSGZTbmJzWXl1aWBBUWdjcV1EPnNLQGZxZltDaGlTX1p2ZmZbSHRCUmxnRmA/c09TU3JxdmRBSUg/eHRtVV11V11HR0RhUmlTRj9NVHBLdm9raGJZRj5RaGhLVU4/RHk9VmZ3dj1FVkdXaXZvZUtfdUxhZ0RdclZDdE0/ZD89cz1HUlFvWWZJWTs9VXFvZXJNRHNnSUxvUz5FWDxtQ2tfR0ZBWVxcaUV2SURnZ0VBcWVocWdkV2hTYVNPVWRBVUJxZXlNTWNvO2dmXXdPX3Nsc0dFYUlsVXRvZWdnP0VhSVRrU3VgUXJ3b3Z4S3lea2VMXXJdR3ZqW1dKc2hPX2lnQURCd2ddYHZTbUxMSXNSSG9DZExsSE1GUHhmcGtMUHJgXWptUE9GUXh2SWtkTG4+eFZReXNEdHNFTXB0eHZLYU5gYHRobFJsYHFJYFhpaW1TZUo6XFxTaUxVPG1SXUhyYl14QW11ZFRrV2VQUWl1UTxsb3Vydl10TXRXVWFqaXlvOnBuVz1QRT1vTERRXnlMPmBvR2BqWHRMcGx4c2BtamB0W0hPRFBua0RPdGV0dEhxVkhLVT1UZ2xOYWRSXnhVS1lSO1huOzxZR2BQdFFZWFRPbFB0U0RRTkVsaU13XmRzdklwZnRQVWlrSGFsPkxWcXhrWHhSU2hVQ2BUaXB2YUFOO3Bzc1BPRVFwdGxMXm1ySz1NS3lUQ2B1Yz1tRWRwUmB1PUFxZXhqckBSa1VQcVhVR0FMbl1sPkh2Y1hLREB5Y0l2O1FXS3RTVW1VX1VSQmBrUmBNQkRsWFRuYkxucT1ZWFVuVlB0dXR5T2BReGBKZm1VYm1RR3hLbFFtVFFsTFVNaT1SWlhtRmVOYGxYVTx1UWF0eERZWHFRTGFWVVhyZHlVS015QWhrTVFxVERqdXFTVHhwSlRLQnF2XlF5bmxLXWRYbEBzWHBvZ3hSXnFPWGR2R3htWVlXSU1uZlxcT1l1dWVMTT9pUm5lUnd5d2NRUnJQbkZMUEc9VlJQT15pS108UnFwTVlscXVBeFdwWXdxS211ZnlmaXE/XmNAX0RObm5Zd0BvXWs+W15pdUJmaFFJeXJOdUBpbmxwW19XZnVeX1lwXUVBYWxfeV52ZV9gYlBeYWdnYT1BZVJ3YUhBalFvZURPeVZeZV1vcVVHYHk/Y2h3XT1OeHhPXFx3VndabmRrP2JWPnBQVmpQWWpEbmdAeGM9cXBRX2NPSFxcUT5cXF9mYEdmbV5vZG5RYD5YWmRXZVxcR21GRnZzUHVhcHA9YGxGVnRoaVtCeWE9TnFxRnhZWWNtcVxccGZzYUd4O0FcXERRbGRQd0JQcU1mXFxVb25zVnVoSGhYXmZjTm9Rb2NlT2toSXN0aV47cXRaR3RPbnhYP152cWRZUHBqb11oUGw8cWNAVmtUaGVHT3dFb2tuQFtOYWl5Xm1CUWpcXElyY09tT25rPG9rXXF0PXFyPVZvSVZfZF9qWHZ1cWlvd1h3W25jeEhfTFlddGdwdW5kUE5lR3Bpaz52W2l2UkZ0X0d1S25xRkl3XFxuW0RwaHRgdmdJa1phdl9RXU5xdmJBa21IcUFxZ1VPcV9IXlpYakU+Y0BPYklYanRub2ZHbz9xcV5nZWs+dXRAaXVgdHA/bFxcSXBPaHdDYXNcXGFvbmZpSXZtP1BkcVFnTU5oVlFqRmdlREFkU0ZmXFxWZURBZ2hxbFJHXFxVRnFNWWVwcF54dmxQUHZeR15lQGRGP15MQG1LSXVyUV5eeXhLRmlLbm1YR2o6SXZSeW12PmxnT2xyP3E8aHRKSV1sd1tecXVMQF9cXEdmdWdwPD94R3dbbF93P2llZ19pam5cXEReXFxlSW5Cd1s8Z1puSFxcb1FfRkFiVm5hRmFhUmBfPkdgckhuYV5za1BbQEZqaGloPmBiQnBiZ3Z2ckFhQnhwPUFxb3FiQHdfal5xO3FhXFxWdUZxW0B4W1ZAWz9BZ0peW2t4ZXJQZW5ocWZXYWZXeUBxZm1xdmN3WmtuZ1thd3FAb25hXkVHXUtncmJZXV9gXU54XmZHWnJPeGVBYFJGaDpAd0ZOamZoWl1OY2dpcT1ZZGRXXFxiXm1AQGVyRmNncVtMUW1SQXBlQVtxQXhBPnJUR3JCSG1KcHhveGF5cXFpYWdWT2BjSW5bPlteWHJASWhLPmI6WXdtXmtvTnhxZ1tYYGc8UXlDX2dNYFt4X2Z5PnRcXEBmYnhiO0FgaF5oZFFpS1h1ZkZuRkhdTGhxY2hqXmZ5T2VDW2Zjb3dZc3ZScUk7a1dbO3RlR1ZeP1RJVXdXW2V0R0RPbWhsVWZbdWJmY3lpXUlNb2dpd0heVWg6b3dBd2ZXYVJwbXRDQ3U9SUZkQWVeT2hzS3J1ZWVaRVNaVUJeY2luTUlmd0VfbWZza3hKc0VuP2ZPYWNAP0dKPXVYa0RJaUI6cVlPV0JVS1I/PXU/cWdOYXRoP3ZkR0ZQP3VgVXl3XWZDY2NVT3R2VUdZY2k/Q3U9Z1hwXXhJY0l5T3JBbXl4WXhJY1VOS0ZwUURZWVI7Q3dCPXNQcWlGP2VGP0M+VVRZZWY+PVJKTVRcXEVCQ0dVRGloaEtVUl12Z0FlblV2WmlDZWliV2tDY1VCb3Fkb29jd3lDQ19yQGlmO1NzcWtzd19EVm9CdXlZO3lyZHFmdVNjaEFZQVVncVN5U2tnWnVXbWtEPVFjdll3WVtia3NySnNFYUtXaVd1TT11X2djOkVnX1lmTVl0bnFIb2dSaXNFaT14cHNYcV1ncklocldGaUVDeVNVOm1SZV94Z0VCc1tDXFx5Um8/YzpzaWZDZ25bWEhlRFVnV0tvaWljRVBZSXFxSHhrV3dBZ1ljaHFnRGpnSTthRnBLRFdRdl9PQlpZdD5Xd2RBVVl1Ukw7Y295cU51VmhdVXFwdGRpaztwWGR5a3hUUUdsVFF0dlhgWVY9cTpAVm1AcmZUcklUbFR5all0eG9Aam5VU1NIU3NdcV91eXFdc0NlV05NdUhtSz5cXGpXPWx3ZE5aZG9CYFdzcG9QRExvSW1CVUphYVhYbVhQYUxTZW9uPVV1YW1RcW1wRVVXSHNMVHl2RVhUZU9paVl5aXF5PXFxXVhIQVJIYE1fSVFjPFlBZW5IeVFUSW55TWxSWUtLeGtmRVh5QW1ZeVFUPXB0aHlbZHV4QW1DQW1BeVl3VW9zZHlBYFBrUWtVdE95eHJgSVJedG1NTHZlUEw7RFlaZW5yeXZ1PFlHdU5yYHhrUHFQeE1ybW1DPVNAXFx2YXlKa014bnV0Y2F2PkBqVkR2YGxxZG1MO2l3ZlRrQmVMcWxVV1FQZlVYUVh5WnVMZ21zT3lRPUhWQHVOeGVRdXVtckBRT015a0RNY0xtcz1PSEBzUUlVPUhRbV1yeHVqbHV5R3FweFl1TnFVRF1ZeGFyO2F2Q2BtSFxcVTt0UDtsV2t1UXNJSm14TUdNTHZNTmFZUFNgbXJZT2hxWUpAU3JlUXhdVGJIT3JIbGNJbT9FeXBJam5obGtFd2dZbkZ0WG9oSlNVc2xMcnc8a3FgWGNYdUhtUzpJUFBNV15cXG5lTE5yRVlURUxraHlXRFc6cHZAUFJOQVNBcW9xYFlMeFV5dFhaTXZyYFRqbG1rVXE9aFFQUVJ2ZHRTRVhUWVV1VUxxQFl4QVQ/eVNMbVVWZE5vUU5WXFxvS1F3b1VYPW15SkB2XnlyZklzSmRPUj1YPj1XWEBVUkhqeUlWSXVYSUxMU2Bua1xcTHNkTEp4VlhwbWpQcnB5SjpZcWdNU1V1ckZYcWVhV0R4cFdgWTo9UnBQTExhbz9UUU1ETmxgUGRZcDxtWD55WFhFTEVgd1FtVD5dUWV0eVpFVUV4a3I9Uj95cmFJWFRJWWp1dWZpbnJpS1xcQHlTcUtFeFheXXhdYHJYPVI6TFZocFBCbFBlWVlcXGRMYlVOVEBQWGVTXmF3Wml3QXVralhXPDxtZWRqd1BgcXdlWE5ya29oX1lvPWhia1ddd2B3RUBlTldibHdraFhcXGheck5vYk1Rcnl3aUtZa1l5YHlXdF1pZmh5bHReaHlBeFxceFxceUhrVFlrQnhza195akFoPWh2W19eeWZ1YV9kXFw/a3R4YXI+am93Yll5WmxRYVBWbWpeaXdQcT9gW0FIXl5RYHBBeWB3ZFpgY01weXZpXjtGcm14cXl3dFBwd1dOYHFxYVtRZGxYeEpfaHdnWkxfckh4a2lHYVpXcVxceHFNSHdgeHZOQWhJX3Bqd3NMQHBNV3J4Xm9ocWlaP29oeXdeeHg8T3RRV1tjcWxyRmNab2FcXE5dU1diS3dxP2h5a3dqPXldYF9mZU5zZl9aW0BpXnh2eFhgaXZed15mWFdkUXZgdD9icVl2ZlZecXBoa2dubV9oT0lsZm5cXGZ5bm1weFA/eWZ2cHVpZXBuaHlmcnV5aT8+cVlvXnJ4dXhBdTtoeGVpYV93eVlmW0l2XWBIaXE/bkhXeER5XklQWnlobT9RYVZvaldhcFBnbW5JX3hgbl95aW1AYGp5cj9PeXlXXFxgeHFBQHVYTmFIV1xcP3BkQXlrdXZlSUBjO0FxbUl5Q3dcXGVBZj9Pb1dhcFBHeElIcHh5alJmanlha05gZ1VGeGFPY1N2eVlBbD9xZWZudTtmdklgeHRvd0hIcnBXaF5pY1lPaXRxeTxwZHlPbVM+eWluYFxceWE9aG50dm9bZ3RtcHlZVmpreWlPP2J0RmZ1YXhlX2V0eWhsWFp5eVo/eHBBeHlcXD5rWUZ2O1BbdG9gYkl2bEBuX2lmTUlhXVBgSXl5YFBjd154anlxRW5rc19iOm9qZElpPGZ4cFZ5cVF0S1lyeXlhYkhzS3ZcXEU/bFlndmpvdXU+ZHdeZXRIeWpYYHM/eVRxWlVZdVJeXlhgWj95a3hvaXQ/cW4/c0xgXztobGo/XV54ZHNoZ3N5cW1Bb053W3deeXlOW0J2XzxBZ09mdGloYFNJYT1oX2ZwYnhAdUlBZEl2bEhWXmY/YmRZZkBod1NfXzp2aF5Jd19Jb3lQb1ZZYkl2XFw9Vl9KPnA7Rm1oWWVKPnhhbl1iWW94b2l0Q1ZbYkJLZXFxcm9lR0JDST1NSGxReWNJd1tRdjs/Y0FheEo9UnhheV9FZlhLWXJ5eTpveHZjZHI9VFZZQ0N1Q3c/WDpJWDtDSXJJaUFvRWhTRXRpV2txRXQ9dz90S3dcXHg8dmpYbml1XnlBdl1BWWNOaWVkUGdqRDo7al5QTmFMTlFFTmpENUI=</Image></Text-field></Input></Group><Group><Input><Text-field layout="Title" style="Title">Fermat's little theorem</Text-field></Input></Group><Group><Input><Text-field firstindent="0.0" layout="Author" leftmargin="0.0" linebreak="space" rightmargin="0.0" style="Author">ICTMT5, Klagenfurt University, Austria. <Equation input-equation="7^th" style="2D Math_1">NiMpIiIoSSN0aEc2Ig==</Equation> August 2001</Text-field></Input></Group><Group><Input><Text-field firstindent="0.0" layout="Author" leftmargin="0.0" linebreak="space" rightmargin="0.0" style="Author">John Cosgrave, Mathematics Department,
St. Patrick's College, Drumcondra, 
Dublin 9, IRELAND.
email: John.Cosgrave@spd.ie
web site: http://www.spd.dcu.ie/johnbcos</Text-field></Input></Group><Section collapsed="true"><Title><Text-field layout="Heading 1" style="Heading 1">Introduction</Text-field></Title><Text-field><Font background="[0,0,0]" family="Times New Roman">For Mark Daly - former colleague and friend -<Font background="[0,0,0]" family="Times New Roman">
who helped me (and still does) when I was really stuck<Font background="[0,0,0]" family="Times New Roman">
</Font></Font></Font></Text-field><Text-field layout="Normal" style="Normal">A thing of beauty is a joy for ever.
Its loveliness increases; it will never
Pass into nothingness.                        
[John Keats (1795-1821), Endymion (1818)]  
</Text-field><Text-field layout="Normal" style="Normal">Fermat's 'little' theorem is one of the jewels of Number Theory, and to mark the <Equation input-equation="400^th;" style="2D Math">NiMpIiQrJSUjdGhH</Equation> anniversary of Fermat's birth (<Equation input-equation="17^th;" style="2D Math">NiMpIiM8JSN0aEc=</Equation> August 2001), I offer this talk. My talk is not intended as an introduction to Number Theory, nor indeed even as an introduction to Maple, although in both cases it could serve as such. Indeed in the time available (some 30 minutes) it will be possible for me to cover only a very small selection of the topics listed below. </Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Because of the widely reported work of Andrew Wiles, many non-mathematicians have heard of Fermat's <Font bold="true" foreground="[0,0,128]">Last</Font> Theorem - that <Equation input-equation="x^n+y^n = z^n;" style="2D Math">NiMvLCYpJSJ4RyUibkciIiIpJSJ5R0YnRigpJSJ6R0Yn</Equation> has no solutions in non-zero integers <Font bold="true" foreground="[0,0,128]">x</Font>, <Font bold="true" foreground="[0,0,128]">y</Font> and <Font bold="true" foreground="[0,0,128]">z</Font>, for <Equation input-equation="n = 3,4,5;" style="2D Math">NiUvJSJuRyIiJCIiJSIiJg==</Equation>, ... - and it is probable that more significant mathematical ideas have been developed in <Font bold="true" foreground="[0,0,128]">attempting</Font> to <Font bold="true" foreground="[0,0,128]">prove</Font> that result than any other single mathematical question. </Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">But, is the <Font bold="true" foreground="[0,0,128]">Last</Font> theorem one of any consequence? Has anyone (yet!) found an application for it? Such-and-such is true because of Fermat's Last Theorem?</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">On the other hand his <Font bold="true" foreground="[0,0,128]">little</Font> theorem - which was relatively easy to prove (but how many could create a proof <Font bold="true" foreground="[0,0,128]">ab initio</Font>?) - has a <Font bold="true" foreground="[0,0,128]">vast range</Font> of mathematical consequences, and one major practical application. The purpose of my talk is to identify in a single document a number of those consequences, but I am aware that I have not covered all of them; for example I have not touched upon the topic of <Font bold="true" foreground="[0,0,128]">Carmichael</Font> numbers (even though they are there in the background of Guiga's conjecture in Section 7).</Text-field></Section><Section collapsed="true"><Title><Text-field layout="Heading 1" style="Heading 1">Section 1. The use of '<Font foreground="[0,0,128]">little</Font>', the theorem itself, and how it originated.</Text-field></Title><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">The '<Font foreground="[0,0,128]" size="14">little</Font>' of the theorem.</Text-field></Title><Text-field layout="Normal" style="Normal">When did this theorem start to be called 'Fermat's <Font bold="true" foreground="[0,0,128]">little</Font> theorem? Who (in English) first called it so?</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Actually not everyone calls it so. In Vol I [1919] of Dickson's monumental three volume [<Font bold="true" foreground="[0,0,128]">History</Font> <Font bold="true" foreground="[0,0,128]">of the</Font>]<Font bold="true" foreground="[0,0,128]"> Theory of Numbers</Font> there is an entire chapter devoted to 'Fermat's and Wilson's Theorems.' Hardy and Wright, Davenport, Nagell, ... , simply use 'Fermat's theorem.' And Sierpinski calls it 'Simple Theorem of Fermat' in his 1964 <Font bold="true" foreground="[0,0,128]">A Selection of problems in the Theory of Numbers</Font>.</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Of course everyone knows what 'Wilson's theorem' is - since there is only <Font bold="true" foreground="[0,0,128]">one</Font> such theorem (but, no doubt, someone will write and tell me of another!) - but 'Fermat's theorem'? Well there are several claimants: the beautiful result - to name but one - that every prime <Font bold="true" foreground="[0,0,128]">p</Font>, with <Equation input-equation="p = 1;" style="2D Math">NiMvJSJwRyIiIg==</Equation> (mod 4), is representable by <Equation input-equation="p = a^2+b^2;" style="2D Math">NiMvJSJwRywmKiQlImFHIiIjIiIiKiQlImJHRihGKQ==</Equation> for some (unique; ignoring, of course, change of signs, and interchange) integers <Font bold="true" foreground="[0,0,128]">a</Font> and <Font bold="true" foreground="[0,0,128]">b</Font>, could well claim to be 'Fermat's theorem.'</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">On June <Equation input-equation="20^th;" style="2D Math">NiMpIiM/JSN0aEc=</Equation> 2001 I sent an email to the Number Theory Mailing List enquiring if anyone could answer the above questions. I received several responses (some public, some private), and I will place them in the Fermat's little theorem section of my web site. Briefly, however, I note that a probable answer is that the 'little' came into English from German, but there was no definitive answer as to <Font bold="true" foreground="[0,0,128]">who</Font> first used 'little.'</Text-field></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">The theorem itself.</Text-field></Title><Text-field layout="Normal" style="Normal">According to Dickson (and others; see Bibliography) Fermat first announced his theorem in a letter to Mersenne, June (?), 1640.</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"><Font bold="true" foreground="[0,0,128]">Fermat's 'little' theorem. Let p</Font> be prime, and <Font bold="true" foreground="[0,0,128]">a</Font> be any integer with <Equation input-equation="a &lt;&gt; 0;" style="2D Math">NiMwJSJhRyIiIQ==</Equation> (mod <Font bold="true" foreground="[0,0,128]">p</Font>), then</Text-field><Text-field layout="Normal" style="Normal"/><Text-field><Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[0,0,128]"> </Font><Equation input-equation="a^(p-1) = 1;" style="2D Math">NiMvKSUiYUcsJiUicEciIiJGKCEiIkYo</Equation><Font background="[0,0,0]" family="Times New Roman"> (mod <Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[0,0,128]">p</Font><Font background="[0,0,0]" family="Times New Roman">)<Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[0,0,128]"> </Font></Font></Font></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"><Font bold="true" foreground="[0,0,128]">In non-congruence language: let p be any prime, and a be any integer not divisible by p, then </Font><Equation input-equation="a^(p-1);" style="2D Math">NiMpJSJhRywmJSJwRyIiIkYnISIi</Equation> leaves remainder<Font bold="true" foreground="[0,0,128]"> 1 on division by p. </Font></Text-field><Text-field layout="Normal" style="Normal">A small hand performed illustration. Let <Equation input-equation="p = 7;" style="2D Math">NiMvJSJwRyIiKA==</Equation> and <Equation input-equation="a = 2;" style="2D Math">NiMvJSJhRyIiIw==</Equation>, then <Equation input-equation="a^(p-1) = 2^6;" style="2D Math">NiMvKSUiYUcsJiUicEciIiJGKCEiIiokIiIjIiIn</Equation> = <Equation input-equation="64 = 7;" style="2D Math">NiMvIiNrIiIo</Equation>*<Equation input-equation="9+1;" style="2D Math">NiMsJiIiKiIiIkYlRiU=</Equation>.</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Maple examples (the meaning of each command should be clear).</Text-field><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">restart;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">p[1] := nextprime(120);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">a[1] := 2;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">57 mod 5; # the remainder 57 leaves on division by 5</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">a[1]^(p[1] - 1);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">a[1]^(p[1] - 1) mod p[1];</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">p[2] := nextprime(10^20 + rand());</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">a[2] := rand(); # Maple has a 12-digit random number generator:</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">a[2] mod p[2];</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">a[2]^(p[2] - 1);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="Normal">That expected, and intentional output can be overcome by using the so-called <Font bold="true" foreground="[0,0,128]">square-and-multiply</Font> method which is incorporated into a Maple command by the use of '&amp;' as follows. (The mathematics of that command, the so-called square-and-multiply method - <Font bold="true" foreground="[0,0,128]">modular exponentiation</Font> - is covered in a Maple worksheet at my web site. It forms part of my 3rd year course on Number Theory and Cryptography.)</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">a[2]&amp;^(p[2] - 1) mod p[2];</Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="Normal">And let's just see the values <Equation input-equation="a = 2,3,5;" style="2D Math">NiUvJSJhRyIiIyIiJCIiJg==</Equation>:</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">2&amp;^(p[2] - 1) mod p[2];</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">3&amp;^(p[2] - 1) mod p[2];</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">5&amp;^(p[2] - 1) mod p[2];</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" style="Normal">Anyone who already knows some Number Theory will understand why I didn't <Font bold="true" foreground="[0,0,128]">check</Font> that</Text-field><Text-field><Font background="[0,0,0]" family="Times New Roman"> </Font><Equation input-equation="4^(p[2]-1) = 1;" style="2D Math">NiMvKSIiJSwmJiUicEc2IyIiIyIiIkYrISIiRis=</Equation><Font background="[0,0,0]" family="Times New Roman"> (mod </Font><Equation input-equation="p[2];" style="2D Math">NiMmJSJwRzYjIiIj</Equation><Font background="[0,0,0]" family="Times New Roman">)</Font></Text-field><Text-field layout="Normal" style="Normal">It is an <Font bold="true" foreground="[0,0,128]">automatic</Font> consequence of</Text-field><Text-field><Equation input-equation="2^(p[2]-1) = 1;" style="2D Math">NiMvKSIiIywmJiUicEc2I0YlIiIiRiohIiJGKg==</Equation><Font background="[0,0,0]" family="Times New Roman"> (mod </Font><Equation input-equation="p[2];" style="2D Math">NiMmJSJwRzYjIiIj</Equation><Font background="[0,0,0]" family="Times New Roman">)</Font></Text-field><Text-field layout="Normal" style="Normal">as indeed</Text-field><Text-field><Equation input-equation="6^(p[2]-1) = 1;" style="2D Math">NiMvKSIiJywmJiUicEc2IyIiIyIiIkYrISIiRis=</Equation><Font background="[0,0,0]" family="Times New Roman"> (mod </Font><Equation input-equation="p[2];" style="2D Math">NiMmJSJwRzYjIiIj</Equation><Font background="[0,0,0]" family="Times New Roman">)</Font></Text-field><Text-field layout="Normal" style="Normal">is a consequence of</Text-field><Text-field><Equation input-equation="2^(p[2]-1) = 1;" style="2D Math">NiMvKSIiIywmJiUicEc2I0YlIiIiRiohIiJGKg==</Equation><Font background="[0,0,0]" family="Times New Roman"> (mod </Font><Equation input-equation="p[2];" style="2D Math">NiMmJSJwRzYjIiIj</Equation><Font background="[0,0,0]" family="Times New Roman">) <Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[0,0,128]">and</Font><Font background="[0,0,0]" family="Times New Roman"> </Font></Font><Equation input-equation="3^(p[2]-1) = 1;" style="2D Math">NiMvKSIiJCwmJiUicEc2IyIiIyIiIkYrISIiRis=</Equation><Font background="[0,0,0]" family="Times New Roman"> (mod </Font><Equation input-equation="p[2];" style="2D Math">NiMmJSJwRzYjIiIj</Equation><Font background="[0,0,0]" family="Times New Roman">)</Font></Text-field><Text-field layout="Normal" style="Normal">and now consider this:</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">p := 10^80*rand()^2 + 20! + 2*rand() + 127;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">length(p);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="Normal">Could that <Font bold="true" foreground="[0,0,128]">p</Font> <Font bold="true" foreground="[0,0,128]">be</Font> a prime? Let's see: <Font bold="true" foreground="[0,0,128]">if</Font> <Font bold="true" foreground="[0,0,128]">p</Font> is prime <Font bold="true" foreground="[0,0,128]">then</Font> automatically we have <Equation input-equation="2^(p-1) = 1;" style="2D Math">NiMvKSIiIywmJSJwRyIiIkYoISIiRig=</Equation> (mod <Font bold="true" foreground="[0,0,128]">p</Font>), etc.</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">So, let's calculate;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">2&amp;^(p - 1) mod p;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" style="Normal">Ah! So it isn't, since the output was <Font bold="true" foreground="[0,0,128]">not</Font> 1. I hope you realise how powerful that calculation is, for in a microsecond it has determined that the above <Font bold="true" foreground="[0,0,128]">p</Font> is composite.</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"><Font bold="true" foreground="[0,0,128]">Question</Font>. But what if the output had been '1'? What then? Would it follow that <Font bold="true" foreground="[0,0,128]">p</Font> is prime? If you don't already know the answer to that question, then you might like to think about it before you read Section 4 (Primality Testing).</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"><Font bold="true" foreground="[0,0,128]">Software Note</Font>. The above fast computation might <Font bold="true" foreground="[0,0,128]">appear</Font> impressive, but for <Font bold="true" foreground="[0,0,128]">seriously large</Font> numbers - ones with hundreds of thousands, or <Font bold="true" foreground="[0,0,128]">several million</Font> digits - Maple is, <Font bold="true" foreground="[0,0,128]">quite simply</Font>,<Font bold="true" foreground="[0,0,128]"> absolutely useless</Font>. For seriously large numbers a user <Font bold="true" foreground="[0,0,128]">must</Font> avail of remarkable public-domain programs like:
</Text-field><Text-field layout="Bullet Item" style="Bullet Item">prime95.exe (George Woltman's GIMPS project)

Everyone will know that George's program has found - on <Font bold="true" foreground="[0,0,128]">desktop</Font> computers - the last four record sized Mersenne primes (most earlier ones had been found on CRAY supercomputers), the most recent of which is the only known prime with more than a million digits.
</Text-field><Text-field layout="Bullet Item" style="Bullet Item">proth.exe (Yves Gallot's Proth project)

In July 1999 - using Yves' program - I had the good fortune to find the 115130 digit prime 3*<Equation input-equation="2^382449+1;" style="2D Math">NiMsJiokIiIjIidcQ1EiIiJGJ0Yn</Equation> (the <Font bold="true" foreground="[0,0,128]">then</Font> <Equation input-equation="10^th;" style="2D Math">NiMpIiM1JSN0aEc=</Equation> largest known prime), and a factor of the (then, and <Font bold="true" foreground="[0,0,128]">still</Font>) largest known composite Fermat number:                        
                                        <Equation input-equation="F[382447] = 2^(2^382447)+1;" style="2D Math">NiMvJiUiRkc2IyInWkNRLCYpIiIjKiRGKkYnIiIiRixGLA==</Equation>

That prime proved to be a divisor of the <Font bold="true" foreground="[0,0,128]">generalised </Font>Fermat numbers:

                                        <Equation input-equation="GF[382447,3] = 3^(2^382447)+1;" style="2D Math">NiMvJiUjR0ZHNiQiJ1pDUSIiJCwmKUYoKiQiIiNGJyIiIkYtRi0=</Equation>,
                                        <Equation input-equation="GF[382443,6] = 6^(2^382443)+1;" style="2D Math">NiMvJiUjR0ZHNiQiJ1ZDUSIiJywmKUYoKiQiIiNGJyIiIkYtRi0=</Equation>,
                                 and <Equation input-equation="GF[382447,12] = 12^(2^382447)+1;" style="2D Math">NiMvJiUjR0ZHNiQiJ1pDUSIjNywmKUYoKiQiIiNGJyIiIkYtRi0=</Equation>

each of which were new records for their type (of which the last two still stand).
</Text-field><Text-field layout="Bullet Item" style="Bullet Item">Prime Form (Chris Nash's original version, based on Yves Gallot's Proth library)</Text-field><Text-field layout="Bullet Item" style="Bullet Item">NewPGen (Paul Jobling's sieve program, based on Yves Gallot's Proth library)</Text-field><Text-field layout="Bullet Item" style="Bullet Item">PRP (George Woltman's probabilistic primality program - which actually uses Fermat's little theorem - to be used in conjunction with NewPGen, and Proth.exe). A faster version - PRP2 - also by GW, exploits the recent Intel Pentium IV chip

In May 2001 - using a combination of Yves Gallot's proth, Paul Jobling's NewPGen, and George Woltman's PRP - I also had the good fortune to find the 275,977 digit prime 3*<Equation input-equation="2^916772+1;" style="2D Math">NiMsJiokIiIjIidzbiIqIiIiRidGJw==</Equation> (the <Font bold="true" foreground="[0,0,128]">then</Font> <Equation input-equation="7^th;" style="2D Math">NiMpIiIoJSN0aEc=</Equation> largest known prime; it may still be, but these prime rankings have a habit of not lasting for a long time!) That prime proved to be a divisor of the generalised Fermat numbers:
                                   <Equation input-equation="GF[916771,3] = 3^(2^916771)+1;" style="2D Math">NiMvJiUjR0ZHNiQiJ3JuIioiIiQsJilGKCokIiIjRiciIiJGLUYt</Equation>
                           and <Equation input-equation="GF[916772,10] = 10^(2^916772)+1;" style="2D Math">NiMvJiUjR0ZHNiQiJ3NuIioiIzUsJilGKCokIiIjRiciIiJGLUYt</Equation>

The first of those broke the previous record (above), and the second established a new record for its type.
                                                          
Last month - here in Klagenfurt - Manfred Toplic found the 246767 digit prime 5*<Equation input-equation="2^819739+1;" style="2D Math">NiMsJiokIiIjIidSKD4pIiIiRidGJw==</Equation> (the <Equation input-equation="9^th;" style="2D Math">NiMpIiIqJSN0aEc=</Equation> largest known prime), and a divisor of the generalised Fermat number:
                                                   <Equation input-equation="GF[819738,3] = 3^(2^819738)+1;" style="2D Math">NiMvJiUjR0ZHNiQiJ1EoPikiIiQsJilGKCokIiIjRiciIiJGLUYt</Equation>                                                        </Text-field><Text-field layout="Bullet Item" style="Bullet Item">pfgw (the Chris Nash managed program; the 'pf' is 'Prime Form,' the 'g' is 'Gallot,' and the 'w' is 'Woltman.')</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">That list is not complete; one should consult the web sites of Chris Caldwell (exclusively devoted to prime numbers) or Keith Matthews (which covers Number Theory in general). Those two sites are the "cream of the cream."</Text-field></Input></Group><Text-field layout="Normal" style="Normal"/></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">How Fermat discovered his theorem. </Text-field></Title><Text-field layout="Normal" style="Normal"><Font encoding="ISO8859-1">I refer my reader to Andr\351 Weil (Section 4, Chapter 2, of his Number Theory) or Harold Edwards (Section 1, Chapter 1, of his Fermat's Last Theorem).</Font></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Fermat's discovery of his <Font bold="true" foreground="[0,0,128]">little</Font> theorem was a <Font bold="true" foreground="[0,0,128]">direct outcome</Font> of his investigations concerning Euclid's theorem on perfect numbers. More specifically it originated from his investigations into the question of the primality or otherwise of (<Equation input-equation="2^n-1;" style="2D Math">NiMsJikiIiMlIm5HIiIiRichIiI=</Equation>).</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">On occasion we say things to our students <Font bold="true" foreground="[0,0,128]">like</Font>: I'm not sure how such-and-such first happened, was discovered, but I <Font bold="true" foreground="[0,0,128]">think</Font> it happened like this... For example, I find myself telling my students how I think Euclid <Font bold="true" foreground="[0,0,128]">could</Font> have discovered his famous theorem on perfect numbers. Also, many years ago, I used to (wrongly) tell how I thought Fermat had discovered his 'little' theorem... ; I <Font bold="true" foreground="[0,0,128]">thought</Font> he had found it by thinking about the decimal expansions of rational numbers. In Section 2 I consider decimal and other expansions, and there you will see how anyone could have formulated Fermat's little theorem had he/she simply asked the right questions having investigated decimal expansions of <Font bold="true" foreground="[0,0,128]">certain</Font> rational numbers.</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Fermat was led to formulate his theorem via Euclid's theorem on perfect numbers: 
</Text-field><Text-field><Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[0,0,128]">if</Font><Font background="[0,0,0]" family="Times New Roman"> (</Font><Equation input-equation="2^n-1;" style="2D Math">NiMsJikiIiMlIm5HIiIiRichIiI=</Equation><Font background="[0,0,0]" family="Times New Roman">) is prime then </Font><Equation input-equation="2^(n-1)*(2^n-1);" style="2D Math">NiMqJikiIiMsJiUibkciIiJGKCEiIkYoLCYpRiVGJ0YoRihGKUYo</Equation><Font background="[0,0,0]" family="Times New Roman"> is perfect</Font></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">One of my Maple delivered public lectures - The recently discovered record Mersenne prime (from 1995, and available at my web site) - treats the subject of abundant, deficient and perfect numbers, the Euclid theorem, etc - but here suffice it to say that before the mid 1450's it was believed that (<Equation input-equation="2^n-1;" style="2D Math">NiMsJikiIiMlIm5HIiIiRichIiI=</Equation>) is prime if and only if <Font bold="true" foreground="[0,0,128]">n</Font> itself is prime, a result blown away by the observation that:</Text-field><Text-field layout="Normal" style="Normal"/><Text-field><Equation input-equation="2^11-1 = 2047;" style="2D Math">NiMvLCYqJCIiIyIjNiIiIkYoISIiIiVaPw==</Equation><Font background="[0,0,0]" family="Times New Roman"> = 23*89  ... ( i )</Font></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Of course it is trivial that (<Equation input-equation="2^n-1;" style="2D Math">NiMsJikiIiMlIm5HIiIiRichIiI=</Equation>) is composite if <Font bold="true" foreground="[0,0,128]">n</Font> is composite, and so the real interest is in the <Font bold="true" foreground="[0,0,128]">Mersenne</Font> numbers {<Equation input-equation="M[p];" style="2D Math">NiMmJSJNRzYjJSJwRw==</Equation>}, where <Equation input-equation="M[p] = 2^p-1;" style="2D Math">NiMvJiUiTUc2IyUicEcsJikiIiNGJyIiIkYrISIi</Equation>, <Font bold="true" foreground="[0,0,128]">p</Font> prime. <Equation input-equation="M[p];" style="2D Math">NiMmJSJNRzYjJSJwRw==</Equation> is prime for <Equation input-equation="p = 2,3,5,7,13,17,19;" style="2D Math">NikvJSJwRyIiIyIiJCIiJiIiKCIjOCIjPCIjPg==</Equation>, ... , and is composite for <Equation input-equation="p = 11;" style="2D Math">NiMvJSJwRyIjNg==</Equation>, ... Before Fermat (1640) nothing had been investigated beyond those <Font bold="true" foreground="[0,0,128]">p</Font>'s just shown, and it was Fermat who noted that:</Text-field><Text-field><Equation input-equation="M[23] = 2^23-1;" style="2D Math">NiMvJiUiTUc2IyIjQiwmKiQiIiNGJyIiIkYrISIi</Equation><Font background="[0,0,0]" family="Times New Roman"> = </Font><Equation input-equation="8388607 = 47;" style="2D Math">NiMvIigyJylRKSIjWg==</Equation><Font background="[0,0,0]" family="Times New Roman">*178481  ... ( ii )</Font></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">One would need to be incredibly numerically insensitive <Font bold="true" foreground="[0,0,128]">not</Font> to notice that '47' is so obviously related to '23':</Text-field><Text-field layout="Normal" style="Normal"/><Text-field><Equation input-equation="47 = 2;" style="2D Math">NiMvIiNaIiIj</Equation><Font background="[0,0,0]" family="Times New Roman">*</Font><Equation input-equation="23+1;" style="2D Math">NiMsJiIjQiIiIkYlRiU=</Equation></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Ones eye gets pulled back to the earlier ( i ) and notices <Font bold="true" foreground="[0,0,128]">exactly the same phenomenon</Font>:</Text-field><Text-field layout="Normal" style="Normal"/><Text-field><Equation input-equation="23 = 2;" style="2D Math">NiMvIiNCIiIj</Equation><Font background="[0,0,0]" family="Times New Roman">*</Font><Equation input-equation="11+1;" style="2D Math">NiMsJiIjNiIiIkYlRiU=</Equation></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">But a <Font bold="true" foreground="[0,0,128]">great mistake</Font> for anyone to make, looking at this <Font bold="true" foreground="[0,0,128]">ab initio</Font>, would be to rush in and wonder/declare:</Text-field><Text-field layout="Normal" style="Normal"/><Text-field><Font background="[0,0,0]" family="Times New Roman">whenever </Font><Equation input-equation="M[p];" style="2D Math">NiMmJSJNRzYjJSJwRw==</Equation><Font background="[0,0,0]" family="Times New Roman"> is composite, its least prime divisor <Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[0,0,128]">q</Font><Font background="[0,0,0]" family="Times New Roman"> satisfies </Font></Font><Equation input-equation="q = 2*p+1;" style="2D Math">NiMvJSJxRywmKiYiIiMiIiIlInBHRihGKEYoRig=</Equation></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">For see what happens with the next prime after 23:</Text-field><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">restart;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">p := 29;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">M[p] := 2^p - 1;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">ifactor(M[p]);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" style="Normal">and so what did Fermat notice? Simply that not only is (returning to (i)) <Equation input-equation="23 = 2;" style="2D Math">NiMvIiNCIiIj</Equation>*<Equation input-equation="11+1;" style="2D Math">NiMsJiIjNiIiIkYlRiU=</Equation>, but also</Text-field><Text-field layout="Normal" style="Normal"/><Text-field><Font background="[0,0,0]" family="Times New Roman"> </Font><Equation input-equation="89 = 8;" style="2D Math">NiMvIiMqKSIiKQ==</Equation><Font background="[0,0,0]" family="Times New Roman">*</Font><Equation input-equation="11+1;" style="2D Math">NiMsJiIjNiIiIkYlRiU=</Equation></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">and, with (ii), not only is (returning to (i)) <Equation input-equation="47 = 2;" style="2D Math">NiMvIiNaIiIj</Equation>*<Equation input-equation="23+1;" style="2D Math">NiMsJiIjQiIiIkYlRiU=</Equation>, but also</Text-field><Text-field layout="Normal" style="Normal"/><Text-field><Equation input-equation="178481 = 7760;" style="2D Math">NiMvIiciW3kiIiVneA==</Equation><Font background="[0,0,0]" family="Times New Roman">*</Font><Equation input-equation="23+1;" style="2D Math">NiMsJiIjQiIiIkYlRiU=</Equation></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">In short, one might say that Fermat discovered (then conjectured) what one might call the Fermat-Euler theorem on prime divisors of the Mersenne numbers: for <Font bold="true" foreground="[0,0,128]">prime</Font> p every <Font bold="true" foreground="[0,0,128]">prime</Font> divisor <Font bold="true" foreground="[0,0,128]">q</Font> of <Equation input-equation="M[p] = 2^p-1;" style="2D Math">NiMvJiUiTUc2IyUicEcsJikiIiNGJyIiIkYrISIi</Equation> satisfies:</Text-field><Text-field><Equation input-equation="q = 1;" style="2D Math">NiMvJSJxRyIiIg==</Equation><Font background="[0,0,0]" family="Times New Roman"> (mod <Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[0,0,128]">p</Font><Font background="[0,0,0]" family="Times New Roman">)</Font></Font></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">But it wasn't that alone that Fermat noticed, for he went one step further (he didn't have congruence terminology, but in that language this is what he observed):</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">One has <Equation input-equation="2^11 = 1;" style="2D Math">NiMvKiQiIiMiIzYiIiI=</Equation> (mod 23), and so (squaring, cubing, etc) one has:</Text-field><Text-field layout="Normal" style="Normal"/><Text-field><Equation input-equation="2^11,2^22,2^33;" style="2D Math">NiUqJCIiIyIjNiokRiQiI0EqJEYkIiNM</Equation><Font background="[0,0,0]" family="Times New Roman"> etc (are all) = 1 (mod 23)</Font></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">One has <Equation input-equation="2^11 = 1;" style="2D Math">NiMvKiQiIiMiIzYiIiI=</Equation> (mod 89), and so (squaring, cubing, etc) one has:</Text-field><Text-field layout="Normal" style="Normal"/><Text-field><Equation input-equation="2^11,2^22,2^33;" style="2D Math">NiUqJCIiIyIjNiokRiQiI0EqJEYkIiNM</Equation><Font background="[0,0,0]" family="Times New Roman">, ... , </Font><Equation input-equation="2^88,2^99,2^110;" style="2D Math">NiUqJCIiIyIjKSkqJEYkIiMqKiokRiQiJDUi</Equation><Font background="[0,0,0]" family="Times New Roman"> etc (are all) = 1 (mod 89)</Font></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">One also has (looking at case (ii))  <Equation input-equation="2^23 = 1;" style="2D Math">NiMvKiQiIiMiI0IiIiI=</Equation> (mod 47), and so (squaring, cubing, etc) one has:</Text-field><Text-field layout="Normal" style="Normal"/><Text-field><Equation input-equation="2^23,2^46,2^69;" style="2D Math">NiUqJCIiIyIjQiokRiQiI1kqJEYkIiNw</Equation><Font background="[0,0,0]" family="Times New Roman"> etc (are all) = 1 (mod 47)</Font></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">One also has (looking at case (ii))  <Equation input-equation="2^23 = 1;" style="2D Math">NiMvKiQiIiMiI0IiIiI=</Equation> (mod 178481), and so (squaring, cubing, etc) one has:</Text-field><Text-field layout="Normal" style="Normal"/><Text-field><Equation input-equation="2^23,2^46,2^69;" style="2D Math">NiUqJCIiIyIjQiokRiQiI1kqJEYkIiNw</Equation><Font background="[0,0,0]" family="Times New Roman">, ... , </Font><Equation input-equation="2^178480,2^178503;" style="2D Math">NiQqJCIiIyInIVt5IiokRiQiJy4meSI=</Equation><Font background="[0,0,0]" family="Times New Roman">, etc (are all) = 1 (mod 178481)</Font></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">What I am trying to draw attention to is that for <Font bold="true" foreground="[0,0,128]">each</Font> of the above primes <Font bold="true" foreground="[0,0,128]">p</Font> one has <Equation input-equation="2^m = 1;" style="2D Math">NiMvKSIiIyUibUciIiI=</Equation> (mod <Font bold="true" foreground="[0,0,128]">p</Font>) for <Font bold="true" foreground="[0,0,128]">various</Font> values of <Font bold="true" foreground="[0,0,128]">m</Font>, but that in all cases <Font bold="true" foreground="[0,0,128]">one </Font>of those <Font bold="true" foreground="[0,0,128]">m</Font>'s is (<Equation input-equation="p-1;" style="2D Math">NiMsJiUicEciIiJGJSEiIg==</Equation>). </Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">In short, for the primes <Equation input-equation="p = 23,89,47,178481;" style="2D Math">NiYvJSJwRyIjQiIjKikiI1oiJyJbeSI=</Equation> one has
</Text-field><Text-field><Font background="[0,0,0]" family="Times New Roman"> </Font><Equation input-equation="2^(p-1) = 1;" style="2D Math">NiMvKSIiIywmJSJwRyIiIkYoISIiRig=</Equation><Font background="[0,0,0]" family="Times New Roman"> (mod <Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[0,0,128]">p</Font><Font background="[0,0,0]" family="Times New Roman">)</Font></Font></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">But, is this true for <Font bold="true" foreground="[0,0,128]">other</Font> primes? Yes, of course it is (or <Font bold="true" foreground="[0,0,128]">appears</Font> to be), <Equation input-equation="p &lt;&gt; 2;" style="2D Math">NiMwJSJwRyIiIw==</Equation>, of course:</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">for r to 15 do
[ithprime(r), 2^(ithprime(r)-1), 2^(ithprime(r)-1) mod ithprime(r)]
od;
# the reason for the '0' in the 1st output is obvious:</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" style="Normal">And what about changing that '2' to <Equation input-equation="3,4,5,6;" style="2D Math">NiYiIiQiIiUiIiYiIic=</Equation>, etc? </Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">for r to 15 do
[ithprime(r), 3^(ithprime(r)-1), 3^(ithprime(r)-1) mod ithprime(r)]
od;
# the reason for the '0' in the 2nd output is obvious:</Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="Normal">etc. In short, one comes to <Font bold="true" foreground="[0,0,128]">suspect</Font> that <Equation input-equation="a^(p-1) = 1;" style="2D Math">NiMvKSUiYUcsJiUicEciIiJGKCEiIkYo</Equation> (mod <Font bold="true" foreground="[0,0,128]">p</Font>) providing, of course, that <Equation input-equation="a &lt;&gt; 0;" style="2D Math">NiMwJSJhRyIiIQ==</Equation> (mod <Font bold="true" foreground="[0,0,128]">p</Font>), namely <Font bold="true" foreground="[0,0,128]">Fermat's little theorem</Font>. </Text-field></Input></Group></Section></Section><Section collapsed="true"><Title><Text-field layout="Heading 1" style="Heading 1">Section 2. Decimal (and other) expansions of rational numbers.</Text-field></Title><Text-field layout="Normal" style="Normal">Here the simple, and obvious point I wish to make is not only does Fermat's little theorem <Font bold="true" foreground="[0,0,128]">explain</Font>, or help one to <Font bold="true" foreground="[0,0,128]">understand</Font> certain <Font bold="true" foreground="[0,0,128]">well known</Font> phenomena in connection with the decimal expansions of rational numbers, but that those <Font bold="true" foreground="[0,0,128]">very phenomena</Font> themselves - with <Font bold="true" foreground="[0,0,128]">general bases</Font> being used (and not just decimal, i.e. base 10) - can lead someone to  <Font bold="true" foreground="[0,0,128]">re-discovering</Font> of Fermat's little theorem. In particular, if one were working with young students, then, with proper guidance, they could be led to conjecture Fermat's little theorem.</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Specifically I refer to the quickly observed fact that the <Font bold="true" foreground="[0,0,128]">number of digits</Font> in the period of the decimal expansion of <Equation input-equation="1/p;" style="2D Math">NiMqJiIiIkYkJSJwRyEiIg==</Equation> (where <Font bold="true" foreground="[0,0,128]">p</Font> is any prime with <Equation input-equation="p &lt;&gt; 2,p &lt;&gt; 5;" style="2D Math">NiQwJSJwRyIiIzBGJCIiJg==</Equation>) <Font bold="true" foreground="[0,0,128]">appears</Font> to an investigator to be (and may be <Font bold="true" foreground="[0,0,128]">proved</Font> using Fermat's little theorem to be):</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Bullet Item" style="Bullet Item">either (<Equation input-equation="p-1;" style="2D Math">NiMsJiUicEciIiJGJSEiIg==</Equation>) </Text-field><Text-field layout="Bullet Item" style="Bullet Item">or a <Font bold="true" foreground="[0,0,128]">divisor</Font> of (<Equation input-equation="p-1;" style="2D Math">NiMsJiUicEciIiJGJSEiIg==</Equation>)</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"><Font bold="true" foreground="[0,0,128]">Start</Font>. Many sensitive young people are fascinated (or, at least, used to be!) with phenomena <Font bold="true" foreground="[0,0,128]">like</Font>:</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Bullet Item"><Equation input-equation="1/2 = .5;" style="2D Math">NiMvKiYiIiJGJSIiIyEiIi0lJkZsb2F0RzYkIiImRic=</Equation></Text-field><Text-field layout="Bullet Item" style="Bullet Item"><Equation input-equation="1/3 = .33333333;" style="2D Math">NiMvKiYiIiJGJSIiJCEiIi0lJkZsb2F0RzYkIilMTExMISIp</Equation>... <Font bold="true" foreground="[0,0,128]">ad infinitum</Font></Text-field><Text-field layout="Bullet Item"><Equation input-equation="1/4 = .25;" style="2D Math">NiMvKiYiIiJGJSIiJSEiIi0lJkZsb2F0RzYkIiNEISIj</Equation></Text-field><Text-field layout="Bullet Item"><Equation input-equation="1/5 = .2;" style="2D Math">NiMvKiYiIiJGJSIiJiEiIi0lJkZsb2F0RzYkIiIjRic=</Equation></Text-field><Text-field layout="Bullet Item" style="Bullet Item"><Equation input-equation="1/6 = .16666666;" style="2D Math">NiMvKiYiIiJGJSIiJyEiIi0lJkZsb2F0RzYkIiltbW07ISIp</Equation>... <Font bold="true" foreground="[0,0,128]">ad infinitum</Font></Text-field><Text-field layout="Bullet Item" style="Bullet Item"><Equation input-equation="1/7 = .142857;" style="2D Math">NiMvKiYiIiJGJSIiKCEiIi0lJkZsb2F0RzYkIidkRzkhIic=</Equation>  142857  142857  ... <Font bold="true" foreground="[0,0,128]">ad infinitum</Font>
[Here, and elsewhere, I make spaces to emphasise the periodic block.]<Equation input-equation="2/7 = .285714;" style="2D Math">NiMvKiYiIiMiIiIiIighIiItJSZGbG9hdEc2JCInOWRHISIn</Equation>

  285714  285714  ... <Font bold="true" foreground="[0,0,128]">ad infinitum</Font>
</Text-field><Text-field layout="Normal" style="Normal">and - as almost everyone who has ever investigated such matters (without knowing that it has all already long been discovered) - one quickly finds that</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Bullet Item" style="Bullet Item">the rational number <Equation input-equation="m/n;" style="2D Math">NiMqJiUibUciIiIlIm5HISIi</Equation> (where <Font bold="true" foreground="[0,0,128]">m</Font> and <Font bold="true" foreground="[0,0,128]">n</Font> are positive, <Equation input-equation="m &lt; n;" style="2D Math">NiMyJSJtRyUibkc=</Equation>) has a <Font bold="true" foreground="[0,0,128]">periodic</Font> decimal expansion provided <Font bold="true" foreground="[0,0,128]">n</Font> is not divisible by 2 or 5<Equation input-equation="1/21 = .47619e-1;" style="2D Math">NiMvKiYiIiJGJSIjQCEiIi0lJkZsb2F0RzYkIiY+dyUhIic=</Equation>

  047619  047619 (I have deliberately made spaces to emphasise the periodic block) ...</Text-field><Text-field layout="Bullet Item" style="Bullet Item">otherwise <Equation input-equation="m/n;" style="2D Math">NiMqJiUibUciIiIlIm5HISIi</Equation> has an <Font bold="true" foreground="[0,0,128]">eventually periodic</Font> decimal expansion<Equation input-equation="1/22 = .0e-1;" style="2D Math">NiMvKiYiIiJGJSIjQSEiIi0lJkZsb2F0RzYkIiIhISIj</Equation>

  45  45  45  45  ...  (here <Font bold="true" foreground="[0,0,128]">n</Font> is divisible by 2)<Equation input-equation="1/185 = .0e-1;" style="2D Math">NiMvKiYiIiJGJSIkJj0hIiItJSZGbG9hdEc2JCIiISEiIw==</Equation>

  054  054  054  ... (here <Font bold="true" foreground="[0,0,128]">n</Font> is divisible by 5)
</Text-field><Text-field layout="Bullet Item" style="Bullet Item">Anyone who gets preoccupied with the <Font bold="true" foreground="[0,0,128]">lengths</Font> of those periodic blocks quickly makes an often made (re)discovery: for prime <Font bold="true" foreground="[0,0,128]">p</Font> (<Equation input-equation="p &lt;&gt; 2,p &lt;&gt; 5;" style="2D Math">NiQwJSJwRyIiIzBGJCIiJg==</Equation>) the <Font bold="true" foreground="[0,0,128]">length</Font> of the period of the decimal expansion of <Equation input-equation="1/p;" style="2D Math">NiMqJiIiIkYkJSJwRyEiIg==</Equation> is either (<Equation input-equation="p-1;" style="2D Math">NiMsJiUicEciIiJGJSEiIg==</Equation>) or a divisor of  (<Equation input-equation="p-1;" style="2D Math">NiMsJiUicEciIiJGJSEiIg==</Equation>). A sensitive eye gets <Font bold="true" foreground="[0,0,128]">quickly drawn</Font> towards the 'prime' element in all of this because the examples with <Font bold="true" foreground="[0,0,128]">long periods</Font> - long in relation to the size of the denominator - having encountered examples like:<Equation input-equation="1/7 = .142857;" style="2D Math">NiMvKiYiIiJGJSIiKCEiIi0lJkZsb2F0RzYkIidkRzkhIic=</Equation>

 142857 142857  ... [period length 6]<Equation input-equation="1/17 = .588235294117647e-1;" style="2D Math">NiMvKiYiIiJGJSIjPCEiIi0lJkZsb2F0RzYkIjBadzYlSE4jKWUhIzs=</Equation>
  0<Equation input-equation="588235294117647;" style="2D Math">NiMiMFp3NiVITiMpZQ==</Equation>  ... [period length 16]<Equation input-equation="1/19 = .52631578947368421e-1;" style="2D Math">NiMvKiYiIiJGJSIjPiEiIi0lJkZsb2F0RzYkIjJAJW90JSp5OmpfISM9</Equation>
  0<Equation input-equation="52631578947368421;" style="2D Math">NiMiMkAlb3QlKnk6al8=</Equation>  ... [period length 18]

and the other primes <Font bold="true" foreground="[0,0,128]">p</Font>, up to 100, for which <Equation input-equation="1/p;" style="2D Math">NiMqJiIiIkYkJSJwRyEiIg==</Equation> has period length (<Equation input-equation="p-1;" style="2D Math">NiMsJiUicEciIiJGJSEiIg==</Equation>) are 23, 29, 47, 59, 61 and 97. Anyone who knows sufficient Number Theory will know that they are primes <Font bold="true" foreground="[0,0,128]">p</Font> for which <Equation input-equation="ord[p](10) = p-1;" style="2D Math">NiMvLSYlJG9yZEc2IyUicEc2IyIjNSwmRigiIiJGLCEiIg==</Equation>; in other words they are primes for which 10 is a <Font bold="true" foreground="[0,0,128]">primitive root</Font>. [See, too, Section 7 on open problems]. 
As soon as the eye has got drawn in to <Equation input-equation="1/p;" style="2D Math">NiMqJiIiIkYkJSJwRyEiIg==</Equation> for <Equation input-equation="p = 7,17,19,23,29;" style="2D Math">NicvJSJwRyIiKCIjPCIjPiIjQiIjSA==</Equation>, etc, then the eye returns to look at the decimal expansions of the reciprocals of the other primes (not 2 or 5), and notices:<Equation input-equation="1/3 = .3;" style="2D Math">NiMvKiYiIiJGJSIiJCEiIi0lJkZsb2F0RzYkRiZGJw==</Equation>

 3 3 3 3 3 ... [period length 1]<Equation input-equation="1/11 = .9e-1;" style="2D Math">NiMvKiYiIiJGJSIjNiEiIi0lJkZsb2F0RzYkIiIqISIj</Equation>
 09 09 09 09 ... [period length 2]<Equation input-equation="1/13 = .76923e-1;" style="2D Math">NiMvKiYiIiJGJSIjOCEiIi0lJkZsb2F0RzYkIiZCcCghIic=</Equation>
 076923 076923 ... [period length 6]<Equation input-equation="1/31 = .32258064516129e-1;" style="2D Math">NiMvKiYiIiJGJSIjSiEiIi0lJkZsb2F0RzYkIi9IaF5rIWVBJCEjOg==</Equation>
 0<Equation input-equation="32258064516129;" style="2D Math">NiMiL0hoXmshZUEk</Equation> ... [period length 15]
</Text-field><Text-field layout="Normal" style="Normal">Maple has a command for computing those <Font bold="true" foreground="[0,0,128]">p</Font>eriodic <Font bold="true" foreground="[0,0,128]">d</Font>ecimals expansions, and it's called 'pdexpand'. To access it one needs to load Maple's Number Theory package:</Text-field><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">with(numtheory);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">order(10, 7);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">pdexpand(1/31);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="Normal">This is not a Maple tutorial, but anyone who wishes may consult what Maple has to say about 'pdexpand' by executing the following line (first remove the '#', and then execute):</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"># ?pdexpand</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">pdexpand(135/14);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="Normal">means that <Equation input-equation="135/14 = 9.6;" style="2D Math">NiMvKiYiJE4iIiIiIiM5ISIiLSUmRmxvYXRHNiQiIycqRig=</Equation> 428571 428571 428571 ... <Font bold="true" foreground="[0,0,128]">ad infinitum</Font>, and</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">convert(PDEXPAND(-1, 2, [1, 1], [9, 0, 1, 3]), rational);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="Normal">means that <Equation input-equation="-2.11;" style="2D Math">NiMsJC0lJkZsb2F0RzYkIiQ2IyEiIyEiIg==</Equation> 9013 9013 9013 ... = <Equation input-equation="-1059401/499950;" style="2D Math">NiMsJComIigsJWY1IiIiIiddKipcISIiRig=</Equation>.</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">pdexpand(1/7);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">pdexpand(1/21);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">pdexpand(1/22);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">pdexpand(1/185);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" style="Normal">In passing I cannot resist asking if from: <Equation input-equation="1/11 = .9e-1;" style="2D Math">NiMvKiYiIiJGJSIjNiEiIi0lJkZsb2F0RzYkIiIqISIj</Equation> 09 09 09 ... (A)</Text-field><Text-field layout="Normal" style="Normal">my reader can determine the decimal expansion of <Equation input-equation="1/(11^2);" style="2D Math">NiMqJiIiIkYkKiQiIzYiIiMhIiI=</Equation>? In other words, what do you get if you square both sides of (A)?</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">pdexpand(1/11);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">pdexpand(1/11^2);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="Normal">And <Equation input-equation="1/(11^3);" style="2D Math">NiMqJiIiIkYkKiQiIzYiIiQhIiI=</Equation> ?</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">pdexpand(1/11^3);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" style="Normal"><Font bold="true" foreground="[0,0,128]">A suggestion for playing</Font>. Much fun may be had by investigating (and explaining what's going on with) decimal expansions of <Equation input-equation="1/101,1/(101^2),1/(101^3);" style="2D Math">NiUqJiIiIkYkIiQsIiEiIiomRiRGJCokRiUiIiNGJiomRiRGJCokRiUiIiRGJg==</Equation>, ... ; <Equation input-equation="1/1001,1/(1001^2),1/(1001^3);" style="2D Math">NiUqJiIiIkYkIiUsNSEiIiomRiRGJCokRiUiIiNGJiomRiRGJCokRiUiIiRGJg==</Equation>, ... ; etc. A knowledgeable practitioner should be able to quess, and <Font bold="true" foreground="[0,0,128]">prove</Font> results.</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"><Font bold="true" foreground="[0,0,128]">A word of warning</Font>. One must be careful about saving ones before executing some commands!!</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"><Font bold="true" foreground="[0,0,128]">Returning to above</Font>. And now to observe the <Font bold="true" foreground="[0,0,128]">obvious</Font> connection to Fermat's little theorem. All, I believe, becomes clear from almost one reflection; simply consider the decimal expansion of, say, <Equation input-equation="1/7;" style="2D Math">NiMqJiIiIkYkIiIoISIi</Equation>:</Text-field><Text-field><Equation input-equation="1/7 = .142857;" style="2D Math">NiMvKiYiIiJGJSIiKCEiIi0lJkZsb2F0RzYkIidkRzkhIic=</Equation><Font background="[0,0,0]" family="Times New Roman"> 142857 142857  ... <Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[0,0,128]">ad infinitum</Font></Font></Text-field><Text-field layout="Normal" style="Normal">How does one prove that the <Font bold="true" foreground="[0,0,128]">non-terminating</Font> decimal on the right hand side is equal to the (rational) </Text-field><Text-field layout="Normal" style="Normal">number <Equation input-equation="1/7;" style="2D Math">NiMqJiIiIkYkIiIoISIi</Equation>? Of course one needs to have studied infinite series to give a precise meaning to such an object...</Text-field><Text-field layout="Normal" style="Normal">It's very simple, and straightforward, providing one <Font bold="true" foreground="[0,0,128]">knows</Font> that:</Text-field><Text-field><Equation input-equation="Sum(r^n,n = 1 .. infinity) = r/(1-r);" style="2D Math">NiMvLSUkU3VtRzYkKSUickclIm5HL0YpOyIiIiUpaW5maW5pdHlHKiZGKEYsLCZGLEYsRighIiJGMA==</Equation><Font background="[0,0,0]" family="Times New Roman"> for </Font><Equation input-equation="-1 &lt; r;" style="2D Math">NiMyLCQiIiIhIiIlInJH</Equation><Font background="[0,0,0]" family="Times New Roman"> &lt; 1</Font></Text-field><Text-field layout="Normal" style="Normal">and thus:</Text-field><Text-field><Font background="[0,0,0]" family="Times New Roman">.111... <Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[0,0,128]">ad infinitum</Font><Font background="[0,0,0]" family="Times New Roman"> = </Font></Font><Equation input-equation="Sum((1/10)^n,n = 1 .. infinity) = 1/(10*(1-1/10));" style="2D Math">NiMvLSUkU3VtRzYkKSomIiIiRikiIzUhIiIlIm5HL0YsO0YpJSlpbmZpbml0eUcqJkYpRikqJkYqRiksJkYpRilGKEYrRilGKw==</Equation><Font background="[0,0,0]" family="Times New Roman"> = </Font><Equation input-equation="1/(10-1) = 1/9;" style="2D Math">NiMvKiYiIiJGJSwmIiM1RiVGJSEiIkYoKiZGJUYlIiIqRig=</Equation></Text-field><Text-field><Font background="[0,0,0]" family="Times New Roman">.010101... <Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[0,0,128]">ad infinitum</Font><Font background="[0,0,0]" family="Times New Roman"> = </Font></Font><Equation input-equation="Sum((1/(10^2))^n,n = 1 .. infinity) = 1/(10^2*(1-1/(10^2)));" style="2D Math">NiMvLSUkU3VtRzYkKSomIiIiRikqJCIjNSIiIyEiIiUibkcvRi47RiklKWluZmluaXR5RyomRilGKSomRitGLCwmRilGKUYoRi1GKUYt</Equation><Font background="[0,0,0]" family="Times New Roman"> = </Font><Equation input-equation="1/(10^2-1) = 1/99;" style="2D Math">NiMvKiYiIiJGJSwmKiQiIzUiIiNGJUYlISIiRioqJkYlRiUiIyoqRio=</Equation></Text-field><Text-field><Font background="[0,0,0]" family="Times New Roman">.001001001... <Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[0,0,128]">ad infinitum</Font><Font background="[0,0,0]" family="Times New Roman"> = </Font></Font><Equation input-equation="Sum((1/(10^3))^n,n = 1 .. infinity) = 1/(10^3*(1-1/(10^3)));" style="2D Math">NiMvLSUkU3VtRzYkKSomIiIiRikqJCIjNSIiJCEiIiUibkcvRi47RiklKWluZmluaXR5RyomRilGKSomRitGLCwmRilGKUYoRi1GKUYt</Equation><Font background="[0,0,0]" family="Times New Roman"> = </Font><Equation input-equation="1/(10^3-1) = 1/999;" style="2D Math">NiMvKiYiIiJGJSwmKiQiIzUiIiRGJUYlISIiRioqJkYlRiUiJCoqKkYq</Equation></Text-field><Text-field layout="Normal" style="Normal">etc</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Two points, now, are simply these:</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">1. Fermat's little theorem (with <Equation input-equation="p = 7;" style="2D Math">NiMvJSJwRyIiKA==</Equation>, <Equation input-equation="a = 10;" style="2D Math">NiMvJSJhRyIjNQ==</Equation>) forces <Equation input-equation="1/7;" style="2D Math">NiMqJiIiIkYkIiIoISIi</Equation> to have the decimal (10) expansion that it has.</Text-field><Text-field layout="Normal" style="Normal">2. The decimal expansion of <Equation input-equation="1/7;" style="2D Math">NiMqJiIiIkYkIiIoISIi</Equation>, <Font bold="true" foreground="[0,0,128]">being</Font> what it is, forces Fermat's little theorem <Font bold="true" foreground="[0,0,128]">to hold</Font> for <Equation input-equation="p = 7;" style="2D Math">NiMvJSJwRyIiKA==</Equation>, <Equation input-equation="a = 10;" style="2D Math">NiMvJSJhRyIjNQ==</Equation>.</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Why? It's simple;</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">1. By Fermat's little theorem, with <Equation input-equation="p = 7;" style="2D Math">NiMvJSJwRyIiKA==</Equation> and <Equation input-equation="a = 10;" style="2D Math">NiMvJSJhRyIjNQ==</Equation>, we have <Equation input-equation="10^6 = 1;" style="2D Math">NiMvKiQiIzUiIiciIiI=</Equation> (mod 7), and thus 7 divides (<Equation input-equation="10^6-1;" style="2D Math">NiMsJiokIiM1IiInIiIiRichIiI=</Equation>). Performing the division by 7 we find that <Equation input-equation="10^6-1 = 7;" style="2D Math">NiMvLCYqJCIjNSIiJyIiIkYoISIiIiIo</Equation>*142857, and so it <Font bold="true" foreground="[0,0,128]">follows</Font> that:</Text-field><Text-field layout="Normal" style="Normal"/><Text-field><Equation input-equation="1/7 = 142857/(10^6-1);" style="2D Math">NiMvKiYiIiJGJSIiKCEiIiomIidkRzlGJSwmKiQiIzUiIidGJUYlRidGJw==</Equation><Font background="[0,0,0]" family="Times New Roman"> = .142857 142857 142857 ... <Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[0,0,128]">ad infinitum</Font></Font></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">2. If one has determined that the decimal expansion of <Equation input-equation="1/7;" style="2D Math">NiMqJiIiIkYkIiIoISIi</Equation> <Font bold="true" foreground="[0,0,128]">is</Font> given by:
</Text-field><Text-field><Font background="[0,0,0]" family="Times New Roman"> </Font><Equation input-equation="1/7 = .142857;" style="2D Math">NiMvKiYiIiJGJSIiKCEiIi0lJkZsb2F0RzYkIidkRzkhIic=</Equation><Font background="[0,0,0]" family="Times New Roman"> 142857 142857  ... <Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[0,0,128]">ad infinitum</Font></Font></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"><Font bold="true" foreground="[0,0,128]">then</Font> one has <Equation input-equation="1/7 = 142857/(10^6-1);" style="2D Math">NiMvKiYiIiJGJSIiKCEiIiomIidkRzlGJSwmKiQiIzUiIidGJUYlRidGJw==</Equation>, namely <Equation input-equation="10^6-1 = 7;" style="2D Math">NiMvLCYqJCIjNSIiJyIiIkYoISIiIiIo</Equation>*142857. Thus 7 divides (<Equation input-equation="10^6-1;" style="2D Math">NiMsJiokIiM1IiInIiIiRichIiI=</Equation>), and so it <Font bold="true" foreground="[0,0,128]">follows</Font> that <Equation input-equation="10^6 = 1;" style="2D Math">NiMvKiQiIzUiIiciIiI=</Equation> (mod 7).</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">I hardly need write any more on this?</Text-field></Input></Group></Section><Section collapsed="true"><Title><Text-field layout="Heading 1" style="Heading 1">Section 3. Quadratic and other congruences. Mersenne and Fermat numbers.</Text-field></Title><Text-field layout="Normal" style="Normal">Here I begin with a famous empirical discovery of Fermat's: 
</Text-field><Text-field><Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[0,0,128]">every</Font><Font background="[0,0,0]" family="Times New Roman"> odd prime divisor of (</Font><Equation input-equation="x^2+1;" style="2D Math">NiMsJiokJSJ4RyIiIyIiIkYnRic=</Equation><Font background="[0,0,0]" family="Times New Roman">) leaves remainder 1 on division by 4</Font></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">In the following, this is what I am doing: I first form a random <Equation input-equation="x^2+1;" style="2D Math">NiMsJiokJSJ4RyIiIyIiIkYnRic=</Equation>, factor it, and then verify that every odd prime divisor leaves remainder 1 on division by 4. Bear in mind that</Text-field><Text-field layout="Bullet Item" style="Bullet Item">if <Font bold="true" foreground="[0,0,128]">x</Font> is odd then one of the primes dividing <Equation input-equation="x^2+1;" style="2D Math">NiMsJiokJSJ4RyIiIyIiIkYnRic=</Equation> will be 2 itself (and it is trivial that <Equation input-equation="2^2;" style="2D Math">NiMqJCIiI0Yk</Equation> will not be a factor), otherwise all the other prime factors will be odd (and, in extremis, there might only be one: <Equation input-equation="3^2+1 = 2;" style="2D Math">NiMvLCYqJCIiJCIiIyIiIkYoRihGJw==</Equation>*5)</Text-field><Text-field layout="Bullet Item" style="Bullet Item">if <Font bold="true" foreground="[0,0,128]">x</Font> is even then all primes dividing <Equation input-equation="x^2+1;" style="2D Math">NiMsJiokJSJ4RyIiIyIiIkYnRic=</Equation> will be odd (and, in extremis, there might only be one: <Equation input-equation="2^2+1 = 5;" style="2D Math">NiMvLCYqJCIiI0YmIiIiRidGJyIiJg==</Equation>) </Text-field><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">x := rand();</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">n := x^2 + 1;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">m := ifactor(n);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">L := [op(m)];</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">r := nops(L); # how many prime factors there are</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">for k to r do
p[k] := op(L[k])
od;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">for k to r do
p[k] mod 4
od;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" style="Normal">All those odd primes (which will change every time the two commands are re-executed) are congruent to 1 mod 4. Euler gave a proof based on Fermat's little theorem (see Section 8).</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">An extension of that result is that</Text-field><Text-field><Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[0,0,128]">every</Font><Font background="[0,0,0]" family="Times New Roman"> odd prime divisor of (</Font><Equation input-equation="x^4+1;" style="2D Math">NiMsJiokJSJ4RyIiJSIiIkYnRic=</Equation><Font background="[0,0,0]" family="Times New Roman">) leaves remainder 1 on division by 4</Font></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Here, numerical experimentation like the above (using rand()) would be problematic, since Maple - almost certainly - would have difficulty in performing the resulting factorisations (and, in fact, it is precisely the difficulty of factoring that is the basis of RSA public-key cryptography).</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Instead, I choose more modestly sized <Font bold="true" foreground="[0,0,128]">n</Font>'s to factor:</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">x := rand() mod 1234321; # to reduce the size of 'x':</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">n := x^4 + 1;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">m := ifactor(n);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">L := [op(m)];</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">r := nops(L); # how many prime factors there are</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">for k to r do
p[k] := op(L[k])
od;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">for k to r do
p[k] mod 8    # note the change to mod 8
od;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" style="Normal">That result - <Font bold="true" foreground="[0,0,128]">re</Font> (<Equation input-equation="x^4+1;" style="2D Math">NiMsJiokJSJ4RyIiJSIiIkYnRic=</Equation>) - may be proved in the same way as the (<Equation input-equation="x^2+1;" style="2D Math">NiMsJiokJSJ4RyIiIyIiIkYnRic=</Equation>) result. In general one has:</Text-field><Text-field><Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[0,0,128]">every</Font><Font background="[0,0,0]" family="Times New Roman"> odd prime divisor of (</Font><Equation input-equation="x^(2^m)+1;" style="2D Math">NiMsJiklInhHKSIiIyUibUciIiJGKUYp</Equation><Font background="[0,0,0]" family="Times New Roman">) leaves remainder 1 on division by </Font><Equation input-equation="2^(m+1);" style="2D Math">NiMpIiIjLCYlIm1HIiIiRidGJw==</Equation></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">This result enables trial factoring of Fermat numbers to be eased, and there is another simple extension of it that saves a further 50%...</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Yet another <Font bold="true" foreground="[0,0,128]">application </Font>of Fermat's little theorem is to the trial factoring of Mersenne numbers (<Equation input-equation="M[p] = 2^p-1;" style="2D Math">NiMvJiUiTUc2IyUicEcsJikiIiNGJyIiIkYrISIi</Equation>, with <Font bold="true" foreground="[0,0,128]">p</Font> prime): Theorem. Every prime divisor <Font bold="true" foreground="[0,0,128]">q</Font> of <Equation input-equation="M[p];" style="2D Math">NiMmJSJNRzYjJSJwRw==</Equation> satisfies <Equation input-equation="q = 1;" style="2D Math">NiMvJSJxRyIiIg==</Equation> (mod <Font bold="true" foreground="[0,0,128]">p</Font>).</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">It is pleasing that that Theorem can be proved by <Font bold="true" foreground="[0,0,128]">using</Font> Fermat's little theorem, when it was precisely the very discovery of that theorem which led Fermat to discover his little theorem in the first instance.</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"><Font bold="true" foreground="[0,0,128]">Comment</Font>. A great deal more about Mersenne numbers (including the Lucas-Lehmer test) is available in my 1995 Maple public lecture "The recently discovered record largest known prime," and a great deal more  more about Fermat numbers (including the Pepin test) is available in my 1999 Maple public lecture"The history of Fermat numbers from August 1641," both at my web site.</Text-field></Input></Group></Section><Section collapsed="true"><Title><Text-field layout="Heading 1" style="Heading 1">Section 4. Primality testing.</Text-field></Title><Text-field layout="Normal" style="Normal">Here I only remark that the modern study of primality testing really begins with the trail blaising work of Lucas, via Fermat's little theorem, and I urge any serious reader to rush to their bookdealer and obtain a copy of the wonderful book by Hugh C. Williams (details in the Section 8 bibliography).</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">I have briefly hinted at the sort of use that can be made of Fermat's little theorem to establish that a number is <Font bold="true" foreground="[0,0,128]">composite</Font>, but a great deal more is involved in using it as a <Font bold="true" foreground="[0,0,128]">starting point</Font> in proving that a number is <Font bold="true" foreground="[0,0,128]">prime</Font>.</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">I refer the interested reader to my web site, where I have <Font bold="true" foreground="[0,0,128]">many</Font> Maple worksheets - in the 2nd and 3rd year, and Public and Other Lectures sections of my site's Maple section - devoted to primality testing. </Text-field></Section><Section collapsed="true"><Title><Text-field layout="Heading 1" style="Heading 1">Section 5. RSA public-key cryptography. </Text-field></Title><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Frequently it is (correctly) stated that a fundamental element in the renowned RSA cryptographic method is the use of the Fermat-Euler theorem: let <Font bold="true" foreground="[0,0,128]">n </Font>(<Equation input-equation="1 &lt; n;" style="2D Math">NiMyIiIiJSJuRw==</Equation>) be a natural number, and <Font bold="true" foreground="[0,0,128]">a</Font> be any integer with <Equation input-equation="gcd(a,n) = 1;" style="2D Math">NiMvLSUkZ2NkRzYkJSJhRyUibkciIiI=</Equation>, then <Equation input-equation="a^phi(n) = 1;" style="2D Math">NiMvKSUiYUctJSRwaGlHNiMlIm5HIiIi</Equation> (mod <Font bold="true" foreground="[0,0,128]">n</Font>), where <Equation input-equation="phi(n);" style="2D Math">NiMtJSRwaGlHNiMlIm5H</Equation> is the Euler <Font bold="true" foreground="[0,0,128]">phi</Font>-function (the number of integers between 1 and <Font bold="true" foreground="[0,0,128]">n</Font> that are <Font bold="true" foreground="[0,0,128]">relatively prime</Font> to <Font bold="true" foreground="[0,0,128]">n</Font>).

In fact it is only a very special case of this theorem that is needed for the RSA application, namely the case where <Equation input-equation="n = pq;" style="2D Math">NiMvJSJuRyUjcHFH</Equation>, where <Font bold="true" foreground="[0,0,128]">p</Font> and <Font bold="true" foreground="[0,0,128]">q</Font> are <Font bold="true" foreground="[0,0,128]">distinct</Font> primes (in practical applications <Font bold="true" foreground="[0,0,128]">p</Font> and <Font bold="true" foreground="[0,0,128]">q</Font> are both large, and with some added refinements for security purposes). A fairly detailed exposition of the RSA method may be read in my Maple public lecture - <Font bold="true" foreground="[0,0,128]">Bill Clinton</Font>, <Font bold="true" foreground="[0,0,128]">Bertie Ahern</Font>, <Font bold="true" foreground="[0,0,128]">and digital signatures</Font> - in the Maple Public and Other Lectures section of my web site.</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">The two prime version of Fermat's little theorem is simply this: let
</Text-field><Text-field layout="Bullet Item" style="Bullet Item">p and <Font bold="true" foreground="[0,0,128]">q</Font> be <Font bold="true" foreground="[0,0,128]">distinct</Font> primes (in <Font bold="true" foreground="[0,0,128]">cryptographic applications</Font> they will be large, but not just <Font bold="true" foreground="[0,0,128]">merely</Font> large (as is sometimes incorrectly stated); to see <Font bold="true" foreground="[0,0,128]">why</Font>, refer to Section 6 )</Text-field><Text-field layout="Bullet Item" style="Bullet Item"><Font bold="true" foreground="[0,0,128]">a</Font> be any integer with <Equation input-equation="a &lt;&gt; 0;" style="2D Math">NiMwJSJhRyIiIQ==</Equation> (mod <Font bold="true" foreground="[0,0,128]">p</Font>) and <Equation input-equation="a &lt;&gt; 0;" style="2D Math">NiMwJSJhRyIiIQ==</Equation> (mod <Font bold="true" foreground="[0,0,128]">q</Font>)</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">then</Text-field><Text-field><Font background="[0,0,0]" family="Times New Roman"> </Font><Equation input-equation="a^((p-1)*(q-1)) = 1;" style="2D Math">NiMvKSUiYUcqJiwmJSJwRyIiIkYpISIiRiksJiUicUdGKUYpRipGKUYp</Equation><Font background="[0,0,0]" family="Times New Roman"> (mod <Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[0,0,128]">pq</Font><Font background="[0,0,0]" family="Times New Roman">)<Font background="[0,0,0]" family="Times New Roman">
</Font></Font></Font></Text-field><Text-field layout="Normal" style="Normal">One may easily give a proof [see Section 8] of the two prime version which is independent of the normal proof of the full Fermat-Euler result. Here I merely give a Maple numerical illustration:</Text-field><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">restart;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">p := nextprime(10^50 + rand()*rand()*rand());</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">q := nextprime(10^60 + rand()^2*rand()^3);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">a := rand()^2 + 30!;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">igcd(a, p);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">igcd(a, q);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">a&amp;^((p-1)*(q-1)) mod p*q;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group></Section><Section collapsed="true"><Title><Text-field layout="Heading 1" style="Heading 1">Section 6. Factoring. The Pollard (<Equation input-equation="p-1;" style="2D Math">NiMsJiUicEciIiJGJSEiIg==</Equation>) factoring method.</Text-field></Title><Text-field layout="Normal" style="Normal">In a nutshell, John Pollard's famous (<Equation input-equation="p-1;" style="2D Math">NiMsJiUicEciIiJGJSEiIg==</Equation>) factorisation method (1974) gives a strategy - based on an ingenious use of Fermat's little theorem (<Font bold="true" foreground="[0,0,128]">full details</Font> are available in the <Equation input-equation="3^rd;" style="2D Math">NiMpIiIkJSNyZEc=</Equation> year Maple section of my web site) - for uncovering a prime factor of an integer n, if that <Font bold="true" foreground="[0,0,128]">n</Font> has a prime factor <Font bold="true" foreground="[0,0,128]">p</Font> such that (<Equation input-equation="p-1;" style="2D Math">NiMsJiUicEciIiJGJSEiIg==</Equation>) has only relatively <Font bold="true" foreground="[0,0,128]">small</Font> prime factors...</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">And <Font bold="true" foreground="[0,0,128]">why</Font> - apart from its intrinsic interest - might one <Font bold="true" foreground="[0,0,128]">want</Font> to find a factor? Well one need look no further than the renowned RSA cryptographic method (a full treatment of which may be read in my Maple public lecture <Font bold="true" foreground="[0,0,128]">Bill Clinton, Bertie Ahern, and digital signatures</Font>): the basis for its security rests on the current difficulty of the famous <Font bold="true" foreground="[0,0,128]">factorisation problem</Font>, of finding a fast method (or prove there isn't one) for factoring general <Font bold="true" foreground="[0,0,128]">n</Font>. </Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"><Font bold="true" foreground="[0,0,128]">Note</Font>. In the following examples, Maple is using the 1971 Brillhart-Morrison continued fraction factorisation method.</Text-field><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">ifactor(15);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">n23 := 23!;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">length(n23);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">ifactor(n23);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">ifactor(n23 + 1);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">n90 := 90!;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">length(n90);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">ifactor(n90);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="Normal">But Maple cannot factor (<Equation input-equation="90!+1;" style="2D Math">NiMsJi0lKmZhY3RvcmlhbEc2IyIjISoiIiJGKEYo</Equation>) (and I've placed the 'comment sign', # , before the command to prevent re-execution.</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"># ifactor(n90 + 1);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">ifactor(n90 + 1, easy);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="Normal">which informs that (<Equation input-equation="90!+1;" style="2D Math">NiMsJi0lKmZhY3RvcmlhbEc2IyIjISoiIiJGKEYo</Equation>) is a <Font bold="true" foreground="[0,0,128]">c</Font>omposite '<Font bold="true" foreground="[0,0,128]">139</Font>' digit number.</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"><Font bold="true" foreground="[0,0,128]">Note</Font>. That 139 digit number may be proved to be composite (not prime) by using Fermat's little theorem:</Text-field><Text-field layout="Normal" style="Normal"><Font bold="true" foreground="[0,0,128]">if</Font> (<Equation input-equation="90!+1;" style="2D Math">NiMsJi0lKmZhY3RvcmlhbEc2IyIjISoiIiJGKEYo</Equation>) is prime, one would have <Equation input-equation="a^n90 = 1;" style="2D Math">NiMvKSUiYUclJG45MEciIiI=</Equation> (mod <Equation input-equation="n90+1;" style="2D Math">NiMsJiUkbjkwRyIiIkYlRiU=</Equation>)</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">for all integers <Font bold="true" foreground="[0,0,128]">a</Font> not divisible by (<Equation input-equation="n90+1;" style="2D Math">NiMsJiUkbjkwRyIiIkYlRiU=</Equation>). </Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">So, testing to see what happens when <Equation input-equation="a = 2;" style="2D Math">NiMvJSJhRyIiIw==</Equation>, one finds:</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">2&amp;^n90 mod (n90 + 1);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" style="Normal">and so it follows immediately that (<Equation input-equation="n90+1;" style="2D Math">NiMsJiUkbjkwRyIiIkYlRiU=</Equation>) is not prime. (One says that (<Equation input-equation="n90+1;" style="2D Math">NiMsJiUkbjkwRyIiIkYlRiU=</Equation>) has failed the Lucas-Fermat test to the base 2.)</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"><Font bold="true" foreground="[0,0,128]">Note</Font>. On <Equation input-equation="10^th;" style="2D Math">NiMpIiM1JSN0aEc=</Equation> April this year, Sean Irvine announced to the Number Theory mailing list the complete factorisation of (<Equation input-equation="n90+1;" style="2D Math">NiMsJiUkbjkwRyIiIkYlRiU=</Equation>); it is the product of three primes, <Equation input-equation="p,q,r;" style="2D Math">NiUlInBHJSJxRyUickc=</Equation> : </Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">p := 1381173038633;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">q := 42025070023047325132446149666132026718715669472074383;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">r := 25596421444788555447555320241499448369527283715169223676054601753562783959;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">is(n90 + 1 = p*q*r);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" style="Normal">Now here is the famous 129 digit number, RSA129:</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">RSA129 := 114381625757888867669235779976146612010218296721242362562561842935706935245733897830597123563958705058989075147599290026879543541;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">length(RSA129);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" style="Normal">I am certainly NOT going to attempt to factor it!! It first came to public attention in Martin Gardiner's much read column in the August 1997 issue of the Scientific American. </Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Rivest, Shamir and Adleman (of RSA fame) threw this number out as a challenge to be factored. Given the then state of mathematical knowledge (as far as factoring was concerned) and computer power, they estimated that it would take some 20,000 years to factor it, and thereby decrypt a message which they had encrypted using it as the '<Font bold="true" foreground="[0,0,128]">n</Font>' part of a public modulus.</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Briefly, a method known as the 'Quadratic Sieve' - introduced in 1981 by the US mathematician Carl Pomerance - together with thousands of computers worldwide (organised by the Dutch mathematician Arjen Lenstra) - factored it by April 1994, and decrypted the RSA-encrypted message (which, incidentally, was: "<Font bold="true" foreground="[0,0,128]">The magic </Font></Text-field><Text-field layout="Normal" style="Normal"><Font bold="true" foreground="[0,0,128]">words are squeamish ossifrage.</Font>") Lenstra, and his co-workers found that <Font bold="true" foreground="[0,0,128]">RSA_129</Font> was the product of the two prime numbers (I show them individually, then their produst, and then show their product really is RSA_129):</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">f1 := 3490529510847650949147849619903898133417764638493387843990820577;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">length(f1);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">f2 := 32769132993266709549961988190834461413177642967992942539798288533;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">length(f2);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">f1*f2;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">is(RSA129 = f1*f2);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" style="Normal">If I were to foolishly enter the Maple command:</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"># ifactor(RSA_129);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" style="Normal">then the timer would stay on for MANY, MANY years ... .</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" style="Normal"><Font bold="true" foreground="[0,0,128]">I am going to create a number</Font> - which I will call by the name 'much_greater_than_RSA129' - which will have these properties:</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Bullet Item" style="Bullet Item">it will be the <Font bold="true" foreground="[0,0,128]">product</Font> of two primes 'P' and 'Q'</Text-field><Text-field layout="Bullet Item" style="Bullet Item">I will choose P to be f2 (the greater of the two primes whose product is RSA129)</Text-field><Text-field layout="Bullet Item" style="Bullet Item">I will choose Q to be much greater than P
</Text-field><Text-field layout="Normal" style="Normal">Those choices will automatically make 'much_greater_than_RSA129' be much greater than RSA129 (hence the name).</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">This is how I will do it:</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">P := f2;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" style="Normal">To save time in my lecture I neutralise the following command, but beforehand copy and paste the output to the next command line.</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"># Q := nextprime(4470115461512684340891257138125051110076800700282905015819080092370422104067183317016903679999999999999630);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">Q := 4470115461512684340891257138125051110076800700282905015819080092370422104067183317016903680000000000000001;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">much_greater_than_RSA129 := P*Q;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">length(much_greater_than_RSA129);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" style="Normal">But that MUCH LARGER number can now be factored in seconds by exploiting the Pollard (<Equation input-equation="p-1;" style="2D Math">NiMsJiUicEciIiJGJSEiIg==</Equation>) factorisation method:</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">Pollard := proc(n)
local a,k;
a[1]:=2:
for k from 2 while igcd(n,a[k-1]-1 mod n)=1   
do a[k]:=a[k-1]&amp;^k mod n od;
lprint(n,`is the PRODUCT of`,                                                                                                  igcd(n, a[k-1]-1 mod n), `and`, 
n/igcd(n, a[k-1]-1 mod n))
end:</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">Pollard(much_greater_than_RSA129);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" style="Normal"><Font bold="true" foreground="[0,0,128]">Wonderful? Yes? </Font> Of course I deliberately made up the prime Q so that all the prime factors of (<Equation input-equation="Q-1;" style="2D Math">NiMsJiUiUUciIiJGJSEiIg==</Equation>) were small:</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">ifactor(Q - 1);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" style="Normal">You may have noticed that I choose <Font bold="true" foreground="[0,0,128]">Q</Font> so that the prime factors of <Font bold="true" foreground="[0,0,128]">Q</Font> are the first twenty-one primes:  2, 3, 5, ... , 71 and 73.</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Finally, look at the two prime factors - f1 and f2 - of the RSA129 number; see how they behave:</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">ifactor(f1 - 1);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">ifactor(f2 - 1);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" style="Normal">Rivest, Shamir and Adleman knew what they were doing when the made up RSA129!!</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">And here you can see why it had been so difficult to find the prime factors <Font bold="true" foreground="[0,0,128]">q</Font> and <Font bold="true" foreground="[0,0,128]">r</Font> of (<Equation input-equation="90!+1;" style="2D Math">NiMsJi0lKmZhY3RvcmlhbEc2IyIjISoiIiJGKEYo</Equation>):</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">ifactor(q-1, easy);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">ifactor(r-1, easy);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group></Section><Section collapsed="true"><Title><Text-field layout="Heading 1" style="Heading 1">Section 7. Open problems: Artin's conjecture, Giuga's conjecture.</Text-field></Title><Section><Title><Text-field layout="Heading 2" style="Heading 2">Artin's conjecture (primitive roots).</Text-field></Title><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">First, recall the meaning of the term <Font bold="true" foreground="[0,0,128]">primitive root modulo p </Font>(<Font bold="true" foreground="[0,0,128]">p</Font> prime): </Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"><Font bold="true" foreground="[0,0,128]">a</Font> is said to be a primitive root modulo <Font bold="true" foreground="[0,0,128]">p</Font> if <Equation input-equation="a^(p-1) = 1;" style="2D Math">NiMvKSUiYUcsJiUicEciIiJGKCEiIkYo</Equation> (mod <Font bold="true" foreground="[0,0,128]">p</Font>), and <Equation input-equation="a^r &lt;&gt; 1;" style="2D Math">NiMwKSUiYUclInJHIiIi</Equation> (mod <Font bold="true" foreground="[0,0,128]">p</Font>) for all <Equation input-equation="r = 1,2,3;" style="2D Math">NiUvJSJyRyIiIiIiIyIiJA==</Equation>, ... , (<Equation input-equation="p-2;" style="2D Math">NiMsJiUicEciIiIiIiMhIiI=</Equation>). In other words, <Font bold="true" foreground="[0,0,128]">a</Font> is a primitive root modulo <Font bold="true" foreground="[0,0,128]">p</Font> if <Equation input-equation="ord[p];" style="2D Math">NiMmJSRvcmRHNiMlInBH</Equation><Equation input-equation="a = p-1;" style="2D Math">NiMvJSJhRywmJSJwRyIiIkYnISIi</Equation>.</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Maple examples:</Text-field><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">restart;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">with(numtheory): # needed for 'order' and 'phi'</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">p := nextprime(200);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">order(2, p);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">order(3, p);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">order(4, p); # not a surprise:</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">order(5, p);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" style="Normal">So, 2 and 3 are primitive roots modulo 211, 4 (for obvious reasons, known in advance) is not a primitive root mod 211, and 5 also is not a primitive root modulo 211.</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Recall a classic theorem of Gauss that p has exactly <Equation input-equation="phi(p-1);" style="2D Math">NiMtJSRwaGlHNiMsJiUicEciIiJGKCEiIg==</Equation> primitive roots in the interval [1, <Equation input-equation="p-1;" style="2D Math">NiMsJiUicEciIiJGJSEiIg==</Equation>], and let us make a list of all those primitive roots - and count how many there are - for <Equation input-equation="p = 211;" style="2D Math">NiMvJSJwRyIkNiM=</Equation>:</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">L := []: count := 0:
for a to (p-1) do
if order(a, p) = p-1 then
L := [a, op(L)]; count := count+1;
fi od; sort(L); count;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Normal"/></Input></Group><Group><Input><Text-field layout="Normal" style="Normal">To determine how many there are one can, trivially, resort to:</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">nops(L);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">phi(p-1); # the Gauss result:</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">That's all very straightforward, and well known. But now let us look at the fascinating unknown: </Text-field><Text-field layout="Normal" style="Normal"/><Text-field><Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[0,0,128]">Fix</Font><Font background="[0,0,0]" family="Times New Roman"> the value of <Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[0,0,128]">a</Font><Font background="[0,0,0]" family="Times New Roman">, and ask: for how many primes <Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[0,0,128]">p</Font><Font background="[0,0,0]" family="Times New Roman"> is <Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[0,0,128]">a</Font><Font background="[0,0,0]" family="Times New Roman"> a primitive root? </Font></Font></Font></Font></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">In other words, for how many primes <Font bold="true" foreground="[0,0,128]">p</Font> does one have:</Text-field><Text-field layout="Normal" style="Normal"/><Text-field><Equation input-equation="a^(p-1) = 1;" style="2D Math">NiMvKSUiYUcsJiUicEciIiJGKCEiIkYo</Equation><Font background="[0,0,0]" family="Times New Roman"> (mod <Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[0,0,128]">p</Font><Font background="[0,0,0]" family="Times New Roman">) ... (i)</Font></Font></Text-field><Text-field><Font background="[0,0,0]" family="Times New Roman">but </Font><Equation input-equation="a^r &lt;&gt; 1;" style="2D Math">NiMwKSUiYUclInJHIiIi</Equation><Font background="[0,0,0]" family="Times New Roman"> (mod <Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[0,0,128]">p</Font><Font background="[0,0,0]" family="Times New Roman">), <Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[0,0,128]">all</Font><Font background="[0,0,0]" family="Times New Roman"> <Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[0,0,128]">r</Font><Font background="[0,0,0]" family="Times New Roman"> in [1, </Font></Font></Font></Font><Equation input-equation="p-1;" style="2D Math">NiMsJiUicEciIiJGJSEiIg==</Equation><Font background="[0,0,0]" family="Times New Roman">] ... (ii)</Font></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Here one has the (famous) <Font bold="true" foreground="[0,0,128]">conjecture</Font> of Emil Artin. Let <Font bold="true" foreground="[0,0,128]">a</Font> be any integer (<Equation input-equation="a &lt;&gt; -1;" style="2D Math">NiMwJSJhRywkIiIiISIi</Equation>, and not a square), then <Font bold="true" foreground="[0,0,128]">a</Font> is a primitive root mod <Font bold="true" foreground="[0,0,128]">p</Font> for infinitely many primes <Font bold="true" foreground="[0,0,128]">p</Font>.  (In 1958 Schinzel and Sierpinski showed Artin's conjecture is  a consequence of the <Font bold="true" foreground="[0,0,128]">prime tuples conjecture</Font>, and in 1986 Heath-Brown proved (<Font bold="true" foreground="[0,0,128]">unconditionally</Font>) Artin's conjecture for infinitely many <Font bold="true" foreground="[0,0,128]">a</Font> (but no single '<Font bold="true" foreground="[0,0,128]">a</Font>' is known for which the conjecture is true).)</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">A remarkable quantitative version (for such an <Font bold="true" foreground="[0,0,128]">a</Font>) of this conjecture - by Artin - <Font bold="true" foreground="[0,0,128]">had been</Font>: Let <Equation input-equation="pi[a](a);" style="2D Math">NiMtJiUjcGlHNiMlImFHRiY=</Equation> be the number of primes less than or equal to <Font bold="true" foreground="[0,0,128]">x</Font> for which <Font bold="true" foreground="[0,0,128]">a</Font> is a primitive root, then:</Text-field><Text-field layout="Normal" style="Normal"/><Text-field><Equation input-equation="pi[a](x);" style="2D Math">NiMtJiUjcGlHNiMlImFHNiMlInhH</Equation><Font background="[0,0,0]" family="Times New Roman"> is asymptotic to </Font><Equation input-equation="A*x/ln(x);" style="2D Math">NiMqKCUiQUciIiIlInhHRiUtJSNsbkc2I0YmISIi</Equation><Font background="[0,0,0]" family="Times New Roman"> as </Font><Equation input-equation="proc (x) options operator, arrow; infinity end;" style="2D Math">NiNmKjYjJSJ4RzciNiQlKW9wZXJhdG9yRyUmYXJyb3dHNiIlKWluZmluaXR5R0YqRipGKg==</Equation></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">where <Font bold="true" foreground="[0,0,128]">A</Font> (<Font bold="true" foreground="[0,0,128]">Artin's constant</Font>) is defined by:</Text-field><Text-field layout="Normal" style="Normal">                                                     <Equation input-equation="A = Product(1-1/(p*(p-1)),p = 2 .. infinity);" style="2D Math">NiMvJSJBRy0lKFByb2R1Y3RHNiQsJiIiIkYpKiZGKUYpKiYlInBHRiksJkYsRilGKSEiIkYpRi5GLi9GLDsiIiMlKWluZmluaXR5Rw==</Equation> ( = 0.3739558136... )</Text-field><Text-field layout="Normal" style="Normal">In other words:</Text-field><Text-field><Equation input-equation="pi[a](x)/(x/ln(x));" style="2D Math">NiMqJi0mJSNwaUc2IyUiYUc2IyUieEciIiIqJkYqRistJSNsbkdGKSEiIkYv</Equation><Font background="[0,0,0]" family="Times New Roman">  tends to </Font><Equation input-equation="A;" style="2D Math">NiMlIkFH</Equation><Font background="[0,0,0]" family="Times New Roman"> as </Font><Equation input-equation="proc (x) options operator, arrow; infinity end;" style="2D Math">NiNmKjYjJSJ4RzciNiQlKW9wZXJhdG9yRyUmYXJyb3dHNiIlKWluZmluaXR5R0YqRipGKg==</Equation></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">[I should point out to readers, perhaps not entirely familiar with Number Theory, that the ' <Equation input-equation="x/ln(x);" style="2D Math">NiMqJiUieEciIiItJSNsbkc2I0YkISIi</Equation> ' is the main asymptotic term of the famous, classic Prime Number Theorem; it is, roughly, the number of primes up to <Font bold="true" foreground="[0,0,128]">x</Font>.]</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Above I wrote "<Font bold="true" foreground="[0,0,128]">had been</Font>", because computational work by the Lehmers (D.H. and E., 1962) revealed an error (an independence error in a probability argument), that error being set right by Tate and Lang (both of whom had been Artin's students) in their 1965 preface to Artin's Collected Papers (1965).</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Hooley (1967) proved that the above quantitative result <Font bold="true" foreground="[0,0,128]">is</Font> true for <Font bold="true" foreground="[0,0,128]">squarefree a</Font> (<Equation input-equation="1 &lt; a;" style="2D Math">NiMyIiIiJSJhRw==</Equation>) <Font bold="true" foreground="[0,0,128]">subject to </Font>the Generalised Riemann Hypothesis. </Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">The <Font bold="true" foreground="[0,0,128]">truly extraordinary</Font>, corrected version (formulated by Heilbronn, as detailed in the Royal Society Mathematical Tables 9 <Font bold="true" foreground="[0,0,128]">Indices and Primitive Roots</Font> by A. E. Western and J. C. P. Miller) reads as follows (in Bach and Shallit):</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Let <Equation input-equation="a = a[1]*a[2]^2;" style="2D Math">NiMvJSJhRyomJkYkNiMiIiJGKCokJkYkNiMiIiNGLEYo</Equation>, with <Equation input-equation="a[1];" style="2D Math">NiMmJSJhRzYjIiIi</Equation> squarefree, and let <Font bold="true" foreground="[0,0,128]">h</Font> be the largest integer for which <Font bold="true" foreground="[0,0,128]">a</Font> is a <Equation input-equation="h^th;" style="2D Math">NiMpJSJoRyUjdGhH</Equation> power. Let </Text-field><Text-field layout="Normal" style="Normal"/><Text-field><Equation input-equation="A[0] = Product(1-1/(q-1))*Product(1-1/(q*(q-1)));" style="2D Math">NiMvJiUiQUc2IyIiISomLSUoUHJvZHVjdEc2IywmIiIiRi0qJkYtRi0sJiUicUdGLUYtISIiRjFGMUYtLUYqNiMsJkYtRi0qJkYtRi0qJkYwRi1GL0YtRjFGMUYt</Equation></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Bullet Item" style="Bullet Item">where the first product is taken over primes q dividing <Font bold="true" foreground="[0,0,128]">h</Font></Text-field><Text-field layout="Bullet Item" style="Bullet Item">and the second is taken over primes <Font bold="true" foreground="[0,0,128]">q</Font> <Font bold="true" foreground="[0,0,128]">not</Font> dividing <Font bold="true" foreground="[0,0,128]">h</Font></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">then (conjecture) <Equation input-equation="pi[a](x);" style="2D Math">NiMtJiUjcGlHNiMlImFHNiMlInhH</Equation> is asymptotic to <Equation input-equation="A[0]*x/ln(x);" style="2D Math">NiMqKCYlIkFHNiMiIiEiIiIlInhHRigtJSNsbkc2I0YpISIi</Equation> as <Equation input-equation="proc (x) options operator, arrow; infinity end;" style="2D Math">NiNmKjYjJSJ4RzciNiQlKW9wZXJhdG9yRyUmYXJyb3dHNiIlKWluZmluaXR5R0YqRipGKg==</Equation> if <Equation input-equation="a &lt;&gt; 1;" style="2D Math">NiMwJSJhRyIiIg==</Equation> (mod 4)</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">otherwise (conjecture) <Equation input-equation="pi[a](x);" style="2D Math">NiMtJiUjcGlHNiMlImFHNiMlInhH</Equation> is asymptotic to <Equation input-equation="A[1]*x/ln(x);" style="2D Math">NiMqKCYlIkFHNiMiIiJGJyUieEdGJy0lI2xuRzYjRighIiI=</Equation> as <Equation input-equation="proc (x) options operator, arrow; infinity end;" style="2D Math">NiNmKjYjJSJ4RzciNiQlKW9wZXJhdG9yRyUmYXJyb3dHNiIlKWluZmluaXR5R0YqRipGKg==</Equation>, where</Text-field><Text-field layout="Normal" style="Normal"/><Text-field><Equation input-equation="A[1] = A[0]*(1-mu(abs(a[1]))*Product(1/(q-2))*Product(1/(q^2-q-1)));" style="2D Math">NiMvJiUiQUc2IyIiIiomJkYlNiMiIiFGJywmRidGJyooLSUjbXVHNiMtJSRhYnNHNiMmJSJhR0YmRictJShQcm9kdWN0RzYjKiZGJ0YnLCYlInFHRiciIiMhIiJGPUYnLUY3NiMqJkYnRicsKCokRjtGPEYnRjtGPUYnRj1GPUYnRj1GJw==</Equation><Font background="[0,0,0]" family="Times New Roman">
</Font></Text-field><Text-field layout="Bullet Item" style="Bullet Item">where '<Equation input-equation="mu;" style="2D Math">NiMlI211Rw==</Equation>' is the <Font bold="true" foreground="[0,0,128]">Mobius function</Font> (in Maple that's 'mobius')</Text-field><Text-field layout="Bullet Item" style="Bullet Item">the first product is taken over primes <Font bold="true" foreground="[0,0,128]">q</Font> dividing <Equation input-equation="gcd(a[1],h);" style="2D Math">NiMtJSRnY2RHNiQmJSJhRzYjIiIiJSJoRw==</Equation></Text-field><Text-field layout="Bullet Item" style="Bullet Item">and the second is taken over primes <Font bold="true" foreground="[0,0,128]">q</Font> dividing <Equation input-equation="a[1];" style="2D Math">NiMmJSJhRzYjIiIi</Equation> but <Font bold="true" foreground="[0,0,128]">not</Font> dividing <Font bold="true" foreground="[0,0,128]">h</Font></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">(see page 222 of Bach and Shallit for many references)</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Some Maple work:</Text-field><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">A := product(1 - 1/(ithprime(r)*(ithprime(r)-1)),r=1..infinity);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">evalf(A); # it is NO surprise that Maple cannot evaluate A:</Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="Normal">So, let's merely get an approximate value:</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">A[20] := product(1 - 1/(ithprime(r)*(ithprime(r)-1)),r=1..20);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">evalf(A[20]);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" style="Normal">In the following I calculate the number of times for which 2 (then 3, 5, 27) is a primitive for primes up to 'x' (for various x's: <Equation input-equation="10^2,10^3,10^4;" style="2D Math">NiUqJCIjNSIiIyokRiQiIiQqJEYkIiIl</Equation>; one may take higher values depending on the speed of computer available), and the relative frequency (i.e., relative to <Equation input-equation="x/ln(x);" style="2D Math">NiMqJiUieEciIiItJSNsbkc2I0YkISIi</Equation> ). Here I have written a simple Maple procedure, which might not be familiar to all my readers, but it ought to be clear what is going on (and I spell it out just once):</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">Artin := proc(a, x) local count, r;
count := 0:
for r while ithprime(r) &lt;= x do
if order(a, ithprime(r)) = ithprime(r)-1 then
count := count+1
fi od; print(count, count/evalf(x/ln(x))); end:</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">Artin(2, 10^2);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="Normal">Thus there are 12 primes up to 100 for which 2 is a primitive root, and the '.552 ... ' is ... .</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">Artin(2, 10^3);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">Artin(2, 10^4);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">Artin(3, 10^4);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" style="Normal">Here I take a case where <Equation input-equation="a = 1;" style="2D Math">NiMvJSJhRyIiIg==</Equation> (mod 4) (for the 'otherwise')</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">Artin(5, 10^4);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">Artin(6, 10^4);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">Artin(27, 10^4); # note the (expected) 'drop'...</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">Giuga's conjecture (a type of converse) . </Text-field></Title><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">This is a well-known, longstanding problem (one on which I spent a lot of time over the years). I first came upon it at school, in Sierpinski's wonderful 1964 collection of problems. There, on page 111, Sierpinski asks:</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal"><Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[0,0,128]">Does there exist a composite number n which is a divisor of the number</Font></Text-field><Text-field layout="Normal" style="Normal"/><Text-field><Equation input-equation="1^(n-1)+2^(n-1);" style="2D Math">NiMsJikiIiIsJiUibkdGJUYlISIiRiUpIiIjRiZGJQ==</Equation><Font background="[0,0,0]" family="Times New Roman"> + ... + </Font><Equation input-equation="(n-1)^(n-1)+1;" style="2D Math">NiMsJiksJiUibkciIiJGJyEiIkYlRidGJ0Yn</Equation></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">and Sierpinski goes on to (trivially) remark: It is easy to prove that if <Font bold="true" foreground="[0,0,128]">p</Font> is a prime number, then</Text-field><Text-field layout="Normal" style="Normal"/><Text-field><Equation input-equation="1^(p-1)+2^(p-1);" style="2D Math">NiMsJikiIiIsJiUicEdGJUYlISIiRiUpIiIjRiZGJQ==</Equation><Font background="[0,0,0]" family="Times New Roman"> + ... + </Font><Equation input-equation="(p-1)^(p-1)+1;" style="2D Math">NiMsJiksJiUicEciIiJGJyEiIkYlRidGJ0Yn</Equation></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">is divisible by <Font bold="true" foreground="[0,0,128]">p</Font>. [and that is all Sierpinski had to say about it.]</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">The point of Sierpinski's remark is that, for prime <Font bold="true" foreground="[0,0,128]">p</Font>, one has:</Text-field><Text-field layout="Normal" style="Normal"/><Text-field><Equation input-equation="1^(p-1) = 1;" style="2D Math">NiMvKSIiIiwmJSJwR0YlRiUhIiJGJQ==</Equation><Font background="[0,0,0]" family="Times New Roman"> (mod <Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[0,0,128]">p</Font><Font background="[0,0,0]" family="Times New Roman">), </Font></Font><Equation input-equation="2^(p-1) = 1;" style="2D Math">NiMvKSIiIywmJSJwRyIiIkYoISIiRig=</Equation><Font background="[0,0,0]" family="Times New Roman"> (mod p), ... , </Font><Equation input-equation="(p-1)^(p-1) = 1;" style="2D Math">NiMvKSwmJSJwRyIiIkYnISIiRiVGJw==</Equation><Font background="[0,0,0]" family="Times New Roman"> (mod p)</Font></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">and so, trivially:           <Equation input-equation="1^(p-1)+2^(p-1);" style="2D Math">NiMsJikiIiIsJiUicEdGJUYlISIiRiUpIiIjRiZGJQ==</Equation> + ... + <Equation input-equation="(p-1)^(p-1)+1 = 0;" style="2D Math">NiMvLCYpLCYlInBHIiIiRighIiJGJkYoRihGKCIiIQ==</Equation> (mod <Font bold="true" foreground="[0,0,128]">p</Font>)   </Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Thus the thrust of Sierpinski's question is: does</Text-field><Text-field layout="Normal" style="Normal"/><Text-field><Font background="[0,0,0]" family="Times New Roman">  </Font><Equation input-equation="1^(n-1)+2^(n-1);" style="2D Math">NiMsJikiIiIsJiUibkdGJUYlISIiRiUpIiIjRiZGJQ==</Equation><Font background="[0,0,0]" family="Times New Roman"> + ... + </Font><Equation input-equation="(n-1)^(n-1)+1 = 0;" style="2D Math">NiMvLCYpLCYlIm5HIiIiRighIiJGJkYoRihGKCIiIQ==</Equation><Font background="[0,0,0]" family="Times New Roman"> (mod <Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[0,0,128]">n</Font><Font background="[0,0,0]" family="Times New Roman"> )  ... (c)</Font></Font></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">hold <Font bold="true" foreground="[0,0,128]">only</Font> for prime <Font bold="true" foreground="[0,0,128]">n</Font>?</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"><Font bold="true" foreground="[0,0,128]">Comment</Font>. It is well known (as indeed anyone will establish who tackles this question) that a composite <Font bold="true" foreground="[0,0,128]">n</Font> satisfying (c) must have these properties:</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Bullet Item" style="Bullet Item"><Font bold="true" foreground="[0,0,128]">n</Font> is odd and squarefree (so <Equation input-equation="n = Product(p[i],i = 1 .. r);" style="2D Math">NiMvJSJuRy0lKFByb2R1Y3RHNiQmJSJwRzYjJSJpRy9GKzsiIiIlInJH</Equation>, for distinct odd primes <Equation input-equation="p[1],p[2];" style="2D Math">NiQmJSJwRzYjIiIiJkYkNiMiIiM=</Equation>, ... , <Equation input-equation="p[r];" style="2D Math">NiMmJSJwRzYjJSJyRw==</Equation> , <Equation input-equation="1 &lt; r;" style="2D Math">NiMyIiIiJSJyRw==</Equation> )</Text-field><Text-field layout="Bullet Item" style="Bullet Item"><Equation input-equation="p[i]*(p[i]-1);" style="2D Math">NiMqJiYlInBHNiMlImlHIiIiLCZGJEYoRighIiJGKA==</Equation> divides <Equation input-equation="n[i]-1 = n/p[i]-1;" style="2D Math">NiMvLCYmJSJuRzYjJSJpRyIiIkYpISIiLCYqJkYmRikmJSJwR0YnRipGKUYpRio=</Equation> for every <Equation input-equation="i,i = 1;" style="2D Math">NiQlImlHL0YjIiIi</Equation>, ... , <Font bold="true" foreground="[0,0,128]">r</Font></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Now, of course, one would like to show the latter is impossible...</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"><Font bold="true" foreground="[0,0,128]">A comment</Font>. An immediate consequence of the latter is that:</Text-field><Text-field layout="Normal" style="Normal"/><Text-field><Equation input-equation="1/p[1]+1/p[2];" style="2D Math">NiMsJiomIiIiRiUmJSJwRzYjRiUhIiJGJSomRiVGJSZGJzYjIiIjRilGJQ==</Equation><Font background="[0,0,0]" family="Times New Roman"> + ... + </Font><Equation input-equation="1/p[r]-1/Product(p[i],i = 1 .. r);" style="2D Math">NiMsJiomIiIiRiUmJSJwRzYjJSJyRyEiIkYlKiZGJUYlLSUoUHJvZHVjdEc2JCZGJzYjJSJpRy9GMTtGJUYpRipGKg==</Equation><Font background="[0,0,0]" family="Times New Roman">  is an integer  ... (e)</Font></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">One might be tempted to argue that is impossible... , but one should be aware that it <Font bold="true" foreground="[0,0,128]">will not be easy</Font>. One cannot argue it is impossible <Font bold="true" foreground="[0,0,128]">merely</Font> for <Font bold="true" foreground="[0,0,128]">distinct</Font> primes, for one should be aware that:</Text-field><Text-field layout="Normal" style="Normal"/><Text-field><Equation input-equation="1/2+1/3+1/5-1/30 = 1;" style="2D Math">NiMvLCoqJiIiIkYmIiIjISIiRiYqJkYmRiYiIiRGKEYmKiZGJkYmIiImRihGJiomRiZGJiIjSUYoRihGJg==</Equation></Text-field><Text-field layout="Normal" style="Normal"> </Text-field><Text-field layout="Normal" style="Normal">So, is (e) impossible for distinct <Font bold="true" foreground="[0,0,128]">odd</Font> primes?</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"><Font bold="true" foreground="[0,0,128]">Recommended reading</Font>. The January 1996 American Mathematical Monthly article by Borwein (D., J. M., and R.) and Girgensohn, R., who attribute the above question to G. Guiga (1950), where they list ten associated Open Problems.</Text-field></Section></Section><Section collapsed="true"><Title><Text-field layout="Heading 1" style="Heading 1">Section 8. Proofs of some important consequences of Fermat's 'little' theorem.</Text-field></Title><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">Euler's (Ivory's?) proof of Fermat's little theorem.</Text-field></Title><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">This proof relies on the simple, but powerful observation that for prime <Font bold="true" foreground="[0,0,128]">p</Font>, and integer <Equation input-equation="a &lt;&gt; 0;" style="2D Math">NiMwJSJhRyIiIQ==</Equation> (mod <Font bold="true" foreground="[0,0,128]">p</Font>), one has </Text-field><Text-field layout="Normal" style="Normal"/><Text-field><Equation input-equation="a.1,a.2,a.3;" style="2D Math">NiUtJSIuRzYkJSJhRyIiIi1GJDYkRiYiIiMtRiQ2JEYmIiIk</Equation><Font background="[0,0,0]" family="Times New Roman">, ... </Font><Equation input-equation="a.(p-2),a.(p-1) = 1,2,3;" style="2D Math">NiYtJSIuRzYkJSJhRywmJSJwRyIiIiIiIyEiIi8tRiQ2JEYmLCZGKEYpRilGK0YpRioiIiQ=</Equation><Font background="[0,0,0]" family="Times New Roman">, ... , </Font><Equation input-equation="p-2,p-1;" style="2D Math">NiQsJiUicEciIiIiIiMhIiIsJkYkRiVGJUYn</Equation><Font background="[0,0,0]" family="Times New Roman"> (mod <Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[0,0,128]">p</Font><Font background="[0,0,0]" family="Times New Roman">)<Font background="[0,0,0]" family="Times New Roman">
in some order</Font></Font></Font></Text-field><Text-field layout="Normal" style="Normal">A small prime numerical demonstration:</Text-field><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">restart;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">p := 23;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">a := 12;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">seq(a*k mod p, k=1..p-1);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">sort([seq(a*k mod p, k=1..p-1)]);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal">Then <Equation input-equation="a^(p-1)*(p-1)! = (p-1)!;" style="2D Math">NiMvKiYpJSJhRywmJSJwRyIiIkYpISIiRiktJSpmYWN0b3JpYWxHNiNGJ0YpRis=</Equation> (mod <Font bold="true" foreground="[0,0,128]">p</Font>), from which it follows that <Equation input-equation="a^(p-1) = 1;" style="2D Math">NiMvKSUiYUcsJiUicEciIiJGKCEiIkYo</Equation> (mod <Font bold="true" foreground="[0,0,128]">p</Font>).</Text-field></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">Euler's proof concerning (<Equation input-equation="x^2+1;" style="2D Math">NiMsJiokJSJ4RyIiIyIiIkYnRic=</Equation>).</Text-field></Title><Text-field layout="Normal" style="Normal">Suppose <Equation input-equation="x^2+1 = 0;" style="2D Math">NiMvLCYqJCUieEciIiMiIiJGKEYoIiIh</Equation> (mod <Font bold="true" foreground="[0,0,128]">p</Font>) for some prime <Font bold="true" foreground="[0,0,128]">p</Font> with <Equation input-equation="p = 3;" style="2D Math">NiMvJSJwRyIiJA==</Equation> (mod 4). Then from <Equation input-equation="x^2 = -1;" style="2D Math">NiMvKiQlInhHIiIjLCQiIiIhIiI=</Equation> (mod <Font bold="true" foreground="[0,0,128]">p</Font>) one has <Equation input-equation="(x^2)^((p-1)/2) = (-1)^((p-1)/2);" style="2D Math">NiMvKSokJSJ4RyIiIyomLCYlInBHIiIiRishIiJGK0YnRiwpLCRGK0YsRig=</Equation> (mod <Font bold="true" foreground="[0,0,128]">p</Font>), giving</Text-field><Text-field layout="Normal" style="Normal"/><Text-field><Font background="[0,0,0]" family="Times New Roman"> </Font><Equation input-equation="x^(p-1) = -1;" style="2D Math">NiMvKSUieEcsJiUicEciIiJGKCEiIiwkRihGKQ==</Equation><Font background="[0,0,0]" family="Times New Roman"> (mod <Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[0,0,128]">p</Font><Font background="[0,0,0]" family="Times New Roman">)  ... (i) </Font></Font></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">But clearly <Equation input-equation="x &lt;&gt; 0;" style="2D Math">NiMwJSJ4RyIiIQ==</Equation> (mod p), and so by Fermat's little theorem</Text-field><Text-field><Font background="[0,0,0]" family="Times New Roman"> </Font></Text-field><Text-field layout="Author" style="Author"> <Equation input-equation="x^(p-1) = 1;" style="2D Math">NiMvKSUieEcsJiUicEciIiJGKCEiIkYo</Equation> (mod <Font bold="true" foreground="[0,0,128]">p</Font>)  ... (ii) </Text-field><Text-field layout="Normal" style="Normal">and (i) and (ii) are incompatible for <Font bold="true" foreground="[0,0,128]">odd</Font> <Font bold="true" foreground="[0,0,128]">p</Font>, since they imply <Equation input-equation="2 = 0;" style="2D Math">NiMvIiIjIiIh</Equation> (mod <Font bold="true" foreground="[0,0,128]">p</Font>).</Text-field></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">An easy proof of a 2-prime version of Fermat's little theorem.</Text-field></Title><Text-field layout="Normal" style="Normal">If one is in a hurry then this proof allows one to sidestep having to establish all the side work necessary to a proof of the full Euler-Fermat theorem; one merely has to make two applications of the standard Fermat little theorem. We have:</Text-field><Text-field><Font background="[0,0,0]" family="Times New Roman"> </Font><Equation input-equation="a^(p-1) = 1;" style="2D Math">NiMvKSUiYUcsJiUicEciIiJGKCEiIkYo</Equation><Font background="[0,0,0]" family="Times New Roman"> (mod <Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[0,0,128]">p</Font><Font background="[0,0,0]" family="Times New Roman">) </Font></Font></Text-field><Text-field layout="Normal" style="Normal">and thus</Text-field><Text-field><Font background="[0,0,0]" family="Times New Roman"> </Font><Equation input-equation="(a^(p-1))^(q-1) = 1^(q-1);" style="2D Math">NiMvKSklImFHLCYlInBHIiIiRikhIiIsJiUicUdGKUYpRiopRilGKw==</Equation><Font background="[0,0,0]" family="Times New Roman"> (mod <Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[0,0,128]">p</Font><Font background="[0,0,0]" family="Times New Roman">) </Font></Font></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">giving</Text-field><Text-field><Font background="[0,0,0]" family="Times New Roman"> </Font><Equation input-equation="a^((p-1)*(q-1)) = 1;" style="2D Math">NiMvKSUiYUcqJiwmJSJwRyIiIkYpISIiRiksJiUicUdGKUYpRipGKUYp</Equation><Font background="[0,0,0]" family="Times New Roman"> (mod <Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[0,0,128]">p</Font><Font background="[0,0,0]" family="Times New Roman">) </Font></Font></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Similarly</Text-field><Text-field><Font background="[0,0,0]" family="Times New Roman"> </Font><Equation input-equation="a^((p-1)*(q-1)) = 1;" style="2D Math">NiMvKSUiYUcqJiwmJSJwRyIiIkYpISIiRiksJiUicUdGKUYpRipGKUYp</Equation><Font background="[0,0,0]" family="Times New Roman"> (mod <Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[0,0,128]">q</Font><Font background="[0,0,0]" family="Times New Roman">) </Font></Font></Text-field><Text-field layout="Normal" style="Normal">and thus</Text-field><Text-field><Font background="[0,0,0]" family="Times New Roman"> </Font><Equation input-equation="a^((p-1)*(q-1)) = 1;" style="2D Math">NiMvKSUiYUcqJiwmJSJwRyIiIkYpISIiRiksJiUicUdGKUYpRipGKUYp</Equation><Font background="[0,0,0]" family="Times New Roman"> (mod <Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[0,0,128]">pq</Font><Font background="[0,0,0]" family="Times New Roman">)</Font></Font></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">since <Equation input-equation="gcd(p,q) = 1;" style="2D Math">NiMvLSUkZ2NkRzYkJSJwRyUicUciIiI=</Equation>. [End of proof.]</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">As one quickly learns in RSA public-key cryptography, the 2-prime version of Fermat's 'little' theorem plays a central role.</Text-field></Section></Section><Section collapsed="true"><Title><Text-field layout="Heading 1" style="Heading 1">Section 9. Bibliography and web references.</Text-field></Title><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Bach, Eric and Shallit, Jeffrey. <Font bold="true" foreground="[0,0,128]">Algorithmic Number Theory</Font>, Vol. 1: Efficient Algorithms. MIT Press, 1996.</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Borwein, D., J. M., and P.B., and Girgensohn, R. Giuga's Conjecture on Primality, <Font bold="true" foreground="[0,0,128]">American Mathematical Monthly</Font> 103 (1996) 40-50</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Cosgrave, John B., Many Maple worksheets - a number, but not all, in html format - are available at my web site; simply follow the obvious links at: http://www.spd.dcu.ie/johnbcos</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Dickson, Leonard E. D., <Font bold="true" foreground="[0,0,128]">History of the Theory of Numbers</Font>, Volume 1 (First published in 1919). Chelsea Publishing Company (1971). </Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Edwards, Harold M., <Font bold="true" foreground="[0,0,128]">Fermat's Last Theorem</Font> (A Genetic Introduction to Algebraic Number Theory). Springer-Verlag (1977).</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Gauss, Carl Friedrich. <Font bold="true" foreground="[0,0,128]">Disquisitiones Arithmeticae</Font> (originally published in 1801). Translated by Arthur A. Clarke (completed 1965). Yale University Press (1966). Reprinted by Springer-Verlag (1986).</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Mahoney, Michael Sean. <Font bold="true" foreground="[0,0,128]">The Mathematical Career of Pierre de Fermat 1601-1665</Font>. Princeton University Press (1973)</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Sierpinski, Waslaw. <Font bold="true" foreground="[0,0,128]">A Selection of Problems in the Theory of Numbers</Font>. Pergamon Press (PWN-Polish Scientific Publishers) (1964)</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"><Font encoding="ISO8859-1">Weil, Andr\351. </Font><Font bold="true" foreground="[0,0,128]">Number Theory</Font><Font encoding="ISO8859-1"> (An approach through history. From Hammurapi to Legendre.) Birkha\374ser (1984).</Font></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Williams, Hugh C,. <Font bold="true" foreground="[0,0,128]">Edouard Lucas and Primality Testing</Font>. Canadian Mathematical Society Series Of Monographs And Advanced Texts, Volume 22. John Wiley &amp; Sons, Inc. (1998)</Text-field><Text-field layout="Normal" style="Normal"/></Section><Text-field/><Group><Input><Text-field layout="Normal" style="Text"><Font italic="true">Legal Notice: The copyright for this application is owned by the author(s). Neither Maplesoft nor the author are responsible for any errors contained within and are not liable for any damages resulting from the use of this material.. This application is intended for non-commercial, non-profit use only. Contact the author for permission if you wish to use this application in for-profit activities.</Font></Text-field></Input></Group><Group><Input><Text-field alignment="centred"><Image height="33" width="800">TUZOV3RLVWI8b2I8Uj1NRExDZE5WWlpKOkBMPkg6VEtHeE1rSjo8T2BMb1xcbFF4bFFXZE1XcHNIcVNobVdoWW9lWE9QbVRQbVZgbXZxeXhxPVhqPXhYcXVYYXhuYVhjRVdjPVVSPVV3ZVl3RUxLRExxdFBxPFI6PXJeYXZedVJBdXJaQG5adFZhdVZiPVdiTVl0TXl2YXl2WXl1WVl4bVl4cXl4cVl5dVl5RVlzRVlwbVhweXl5eXlwcXhwPUo6Pjo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6OjpkeTxUeXBDPnFVTENUSmNEWG9YdXNUPGF1cGtjZldNWEBKQ2VVYGROdVRtV3h5eXlwcHVQQ0RTU3VMQ2x1Pjx4VHBRbWxzYl1NaWhVT2BxVGVYU1FPO0BKeFZdd09sOkBzeUZ2PHdcXHRAdHNOblFuXFxWP3c8d1xcP0ZxSmlqWHluWlZ2bnlIRXJtaUJfX3RXaXRbTXl4WVJJSVh2V2d0U1M9O2dRTXdBSUNdSVlyR1hSb2djW0VwcVl0c3huPUJWU1VHdUVBW1d4S3JXYVNIc3NvWUJQa3luS2N0cWdteVVLQVlRWVV3X3JzPXdib1lUV1hJP0lRS3lvW1hAd3lkcXl0WVJHQXlgaXhzW1NseVhhU3lxdXk6bWVsPWRYcXlkSWZ2Z1JJZVNVa1VtVUJHd3VaaXRTO2VRP1M+QWRNYXNua3lTR2JEU3VpbWJTYWJqeXROQXlNdVhsYVRXYUNwO3k/YXQ7X3R4YVR3YXRoP2NqPUdiZ1lWR0NBW2VBa2heaWh5YUlHb1ZkR3h5V2VRYXRhbVZIWXg6U0VJZXd5YWNtY1NCQXZnT3l5c3NFeUJWV0N3UUZ0WVd4WWRNZ2NZX3leVXk/Z2NlW1dYUUNEY3dHdXdITXc/cXd4W2dhY3NjR3J3T3R1S0ZYS3NjW0ZaSUJPcUlySUlda3VJQ2ZSb3NNX3lUU0VXV2NLUXNfcUdIZUlpYVdCc3ZhQVhXb0ZzWVR5dUlZU2RXQ2V0W2ZacE9ZdHZbXFxYU012Tj1YaGx1eGVsXXlsdlVuO1BZc3F2a21tQ3hTRVFQc01PZVVwUUVLTmB5VkFxY3FSUXBZeEhyW3hVXFxBdGdQVmV4bUhIUVlEWHB0TDtleV9cXFhIeHlUcExRPXFKaEprbHFBPXdQeHFPdHBQbXdRPWtXZFNTWWp4aFF0PWxpPFg9UHJcXEhveE1LeHBwZFVQR3hsYDxSYWRXc0VNVWhuTWluYXF2eVxcdF1wSndcXFB0dHQ6bHdfaHk7UHh1RWxXcGZ5cGlReWc8SWJnSHFRP3dSd3ZGZ2NRbm10SV1sWFpvYXV2d1xcXVZpXFw/eXVJakdxeUFfXWpeY2lhXFxedmFZZm1YWXZWX2ZveWRfd1phP3lJUGZOWHBPaW1iSW53aWllUXlaQFtqZltwX2BzP1xcTkBxYXdbPGFfPXFwZEl1XT5nbkhwVWlcXF5hW0FHY1NfeV1wbkhnX29JaT1Ya01gYkteeVVXakZoaENwaWY/bGxoZWxoa0txaz1xZ0NxcUlva0phZFpAXUlPc3BIamdRZ1V2Xk1wXltha1hOb2t4Y0ZheE1YPkVmeD1HSnlZXT11S1dYdWVmY1lDVl9ETztYXW9lRHdJXVVyaElYaEtkdFlndj1zWU14eU1oRUFiZEtkRkVEO01CaW1VWWd2TnNmQnVEZ3F3XnNSWm9pZXlpWUVmRUFzWU9jVTt1Zl9DXjtnPkVJVW1XeV14WltIP1VUaXdoYXliPEVXVUFobWdoVWVlXU9ETHlma1lkT1FETk1zbGVnXW1IR2t5blVyclVoamdidnN0cklDc09pVT91cFVodE1FX2NWVWV5d1dyU2VTdkl3SHFzRVV2d2FTYG12X2tDRWdERUVWT295ZlNGWUdYaFt4ZTt3ZnN5YT9IYmN1X1NpSFVmclN0cXNnSUNVS21SO0lFR0dpRVV4U1Nld2tCUmNpYz9mW0dIc11XQkNlRlNYTWVjQHF3UVlpT0NGaTtiZF9lcGdoQ2NyU0liclVGZktYcE9FPkNkR1VWSF9zcz1HYUVGXFxNaF91REpjWGVXR1NrSUE9VGBbdWhPaUtPeTtJZG9fc0JRZ1BHYmlNeFpJeFs9Uk5RSENVd2xJaFZBcz5NeHY9dDtJZWtlY1tpVG9lQl1ZU1ZzSV1VR2tNZ0M9eE1fY3ZdckNrR2xPeUU9d1ZzeW1vUlBFUkdVV29Lcz4/ZE5HY3FPdkw9RGNnVVVpZD1TZEJZdGFjQmN5VDtzQz8/c1hzQkZFSVBLZHdVaWJVVXVvd3RDeExFUnhHVVBPYz1lZVdXREpfdEJJRmpbUk1XWG9hSW5pRkRZeXZJZkZZSDtFaWZhV0FBZGtRZ1N1SW9ZSFM/c1xcYVlua1ljQ1JYQXk7PXVyU3NVRUdYb3Zta2RVP2JJa3V2SWhmO2hIS1Jtc0lxa0drQ0lFR1NRaVV5P3JbY2h5XURXP1VKd2VvX0hJO0lbaVJQdVlDY2VdeUlRR1NSPVNGY1lASUhOYWJFeWhUO0hcXGdDW2lpRXViWElZWz9GaGtmQWFSeWNjUTtEPE1CTGtzVUd2TV1GT1NXWmFGbm1VVk9CXU1oYGd1XWV3OkNTWFtWVVtkXmlXQ0lUTWtpbmdWbWNZO0V1SWtGWmdldGFTbGtlRF9TbFVkP1NVW1doYF9JSGt1TmFJQkVZQEtoUVtJYlNmbF9DcGdWXUlCZ2NmOkNyT1dXbGlWUFNETXVFa3dCWVFiZ0t4R2lXZmNkZ19jQ29YRHlGb0FGPENZZF9mWlNVS09YbVVFcm12cFdnYVFJZVdHeU1pdU9maGVGWVtVV2dkR3dlWztYQFloPG93c2tUd1VnallkdkVoblRQYExKYXRVbXlvXXhsa1VwZ1BTSG1TT2lTWHRNP0hzSGhXZ2xudT15cE1vc21QV1F0WG1sTERSXmVyYXBwQVBxQFR3dVxcbWY8eXRNb190TlFEbXd1VUJhbFtUS01dVVpcXFZzVVBnXFxPaFhVXWl3PmxUPlR0b2xZVWVNXFxgcTppTkZRa01ldUI8WV55cVtUcXdMeHlZa15tUERoVVRFTFtteGRZVHJVd0hZcHBgUl10c3lobTxcXHJkaE5cXF1WR2VqRXlUQkxsWGhVaWRTa2xWY0lta3VKQVxcT0ZBSnhYVEpcXG9ScFVyXFxxbkVVZjxQT2FvY2lvWHhZVVRSeGhtS0hub1V1QmF2dnh0XUBvcmR5cUlsYHR5Y0V5Zz1TdDxWO0xZYERvREVsQ2hXWWRrcElrU01vcGhuaHFrZU1XPFFYXmRvZ0VtTTxreEFZTT1tcFBLbVRUTW1YZVFMbnVLP0hNZUlVYGBUcU1TZGVOcW14SGVMSz1PVXB4XkBraVlwYHhYVmRvVUBMPVBwckFQSXVSW1FwQFlsdlBXd1FUb01wR2BqT1h5Rmh4QUVUaWVSQURLZ2lvVlBPeVhVbFhUOkl3YzxOZ2VNTnVwXFxYV3JkUUZQUXZsUD1Ub3Nlbz5xWGJpV09cXHlFPVBVaVBBQVNnTHR4WExHPVNUQVNBeGo9QFdpeHdYYFhPQXRIbG9JZW9IaUx2eXVvdU10THRUeUpzQXhCWHJAVHFXWE9zRUtvcHVBRVU8dXlPXFxMVHlQQVhtPXRPVVFuZWFORF1LT1l5THlYYnR4dWhtY1lyWE1raFxceWxMb19lcWB0U2VBT0hdbHFVd2lQbmtQd2xIUGdIcmVoWV5wS2hQd0dQSjs8TzxgcVU9dE14VVVFUFdAUmRJVGZZamphb3dUcU1RalhISlNcXE08RXZhcHBUQG1XTUpAaU9WaHlMUUtxXVQ9RXljPVVocU5hXVBKXFxYXFxMdVtEc1FAT1tYUnc8UmJgUGB0U3VlamNlWVhAVU49ckZleHVIbURta11YUkxhWUVsUm1JUF1QZWNoYHJ4bWE/YXJhYUN4dldRW1xcYVpgeWlGQWo/Z3ZWVmReQG1HeVtoaGp4UXZqSXdNVndQR3lYV19FcGpETm5zeV5FaHZFX2Q6UG5rT2FEQV5DbnhFQW9DaF9ld2M7cGJbSVtad2NVP2twR3d4dmNWVlxcT1dhWUdaV3FiR0dealZrQVFdbVhja2Z3VFZmb3ZaVm5aTHdmb0llUz5lQEh0Y3ZzZ1BuPFlxRE94Y3FiZE5tUHh0cXdoc2ZhZz5teU9lZGhxQ0ZrTldxc3B5XUBfVlFySUl1XW5jTEliPl94ZFFeW3l3XmBeWXFiU3hleWdhPk9rVkBmcFZmZU5obXhlU3duXj9fR09rbGZgUXFnS195Sz95akBweHZ3Ykh0SWB5WWFpP0h2Sl53dlF2WW5nQVZvPVhod2NSZUJJTWZsS1RVX2JgcXJGUUM8VUdSV1k9a1ZXQWl2XVg8Q1N5TXljeXdlb0U+P3R0a3NWZ0JUbXRHSVh2S0RUO0RgYXRwYUdRRVZBPWVmb0hAXVRnc3dzQ2ZXR0ViQ0NMSVl0U3dHO3RSYUM/XWhpW1Rmd1NQVWNTUVlaQ3Vsb0VbS1RuT1NUdURQcWZwUVVfWXhbP1VaPWJgeUN1RVRVZWN0Y3JzYVdJR2hQVVZkQ1hvW0RuO0dUb2Y9QVZCY1lSR2dhYVlic3Z0PVVCdVZJT2VaS2dHbWhIUXJdXXVtc2lmeVRQV3RuZXlaS3lkbUhqb1dSQXNTUUhld0RTPUhqXUM+cWRIW1hISWdrd1RHdXZJX3NnWURnYWJTc2lMWXJiXUljW3VaVXVDZUdOXUlueXlqaVZuTXVKaWJxXUU+PXNIW3RoUURYZ1RcXHFoTndUVm1HZG9TaUtzRF1ERF1VT2tzTz1mWDtYdklkYlV3Umlpc0NFdj90RUFTP2VIW0VIaU95W21jRT9oWTtld0tDclt4O0VDcFVFYUl0Uk1VZU1JQHdGPUd1cUlkcmlYbUFpSG91Ql1VRWt2Ym9EYF1iRGV1XlVIT3N4d0tTb2dWRV9HTlFiQkFkdU1ZUTtZX11YYnFCZVtGRllHRj10WGd4cnlZcEFGRG9pZElSSGdVZj91WEdnXVdndUdpZ11VUlFycDt1PU1IWUlYeGNJYW1zcUVsPHVSPFBNd3R3Tk1xTllNQj9cXGFJaXF2Ym94aGtud0RPdl1ecjphXFxbV2hFeHNuX2NkUW9ATmddb3JMUG5DcHRFP3dKcWk6YWRgP2dqWFxcQm9sOkBkSmlzW3ZlbF5wSz5dVHBjSUhob1Nab1hKT2h3W1dnc2VzdUJmRWddPXV1VVk9cVhaV1ZZTVNaRUNIV0hxZVg8U3VeRXV2WVg7QUZRUUNdXUZsXVNOcUlPPUlMUXdoSXdab2VxRW9PcVZZQFRUcHJXQU5xWXN1eE5BQFdqbHB1YVh5dG1YTVJrZHBJXUtcXExUQD1QZFxcU3hISlNYTmh1bEZZUW10d0poV0k8UXN1UlVwd21cXHJRREx5dU1nTXY+QHBTQHBmdFJpVW5pVFY6dVJSaWw8bFJZPHdsdFNWaUxoSEtEQHZWaVNgRE9mYVR2QXN5TXVLbVFVaHZxbFF1TFdAcWxyYFJkZFJLSW1eUVlBYVh4ZFBcXFR1VmxrdE1ZbXlQQWB4Uml2UlVvTHhLbUFOYWxMYHFWYGVURElPO01ZXFxIb1FpWW5Na0hMTnFoeWxVSlxcdFNedUtKSU1LQVlbcXVmTXJ4QVhmeEp5WHhlYFJQcXhPaW9ybEpXXVhFSFh3XFxsSnFyPVh3TjxUPmBuRlBrbEh2XkxUZF1rdml1Oll3bGhXa1R5RHBMU1VWVXFRQ0F1VFRsaVBvcHVvVEhOU1F5UnRzPklxS1lLaFROUU1zZUFqb2FsclF2YklzbE1wPVxcb2pMVU1EdURReW1hb2lRdWxtUE1FTHdocHVwbG5JdnlwUGBYbENETT5MWUBgcmRxdG95bkBNTEZUVVVQb1xcVVdSXFxXTWV0T0FvRWV3TElVY3RSd0B0XUVSR0BYdHFLdUhRV3FqV0xxWmBMVFVPVHVzbUhQY1lrP0ROPXVUXFxhWFNlTE51S3J0dGZAa0l1blVUWENNdFl5UlVRcGxYd2BYdj1pWHBwdUxtUlVxd1RNbVtdcXhoTEVsdD5sTmlAcVE9UV9sUkw8TmdlcmhoWHdBcnlBTD1pd11JeFlUVXloajtwb3FYUG1VZ0hHXFxnYW5mV2ZGPmhyQXd0d3lbWXM8VnVHWGhTR3hlUGpNXmV4blxcdmFiSE5qVGZmRll3RE5yZUBxb2hlSFdtb1dgXVBcXGdmcV1Ja3h4XFw/dmtubmNcXGdpdXBvdkloTWFaT0lraklkVnF0dj9lZm5oZWBpPU9peFZ1ZVZvcHhqSk91TllgW1dcXGpYXFxTTmtlcXJRX3BVZ2hqTmlOUXRwR1xcQ0llX0lhYllzQHd3QndcXExgeE8/cmBxWmk/Y0BXc1dgXkBmam9nZXBwamtJcG5Ya0tQbmRHYWRHaWRvY0U+bT9GamZfYllmXFxcXD9wXUhpZU5xV2dnZUl1Q0FuaGlad2FlcFlua2dlRnlqdk9odV9bR1FrcGlvU05hP25kaXByVUZqY1ZcXHBRbmd3XVI/XVdGZVd4YD5pX0hAdEF3ZGJueTx4X19PYEZ5Z2dxdWpBdEpoYWlBblNBcz14d3RwXmFZbmxvbG4/ZVlRdEFebUp2d0Q/a1xcUWxdeHFNUGNgX3NqVl1ndnJlT3NJT2twUF5WeV5bVndgT1tnd21McWldTm1aQGhCQXJpUF1PPltASGRtWVp5aXJbTm48WXBlTmZvbnNvXl1kbmZJWXVYd2tFQWNVeW5eQWBdVmV5WXVsUG9nQW47P1xcSz9tdF5ncF5qWEd4Zj55c2Zac2d1PWBzZWJfYUlFU1NKY1dld3RtQ3JFQ2ZnRVJhcUVOQ2hCO2ZeSXZ4WUw9UFNdPXlLWG1HZU1ZTG1yVFNCcExfYFVBbG1YbVhsVVRYRW5eRXNTbW1meVJFWHNERXdlbHZRcWxRYVhAQHRqPHBrVFlrRFNOcXhQUWpsdXNpVEpFTFhRXFxSd2BzUGFTVVlKd1BqZGVzX1FzS2BqQElqX0R1Rm1KbVBMbWxsaDxTU1BLVjxXW2VPYWFUTkB3TGx0dj1xZEBPT0hyYzxLPmh1aFBQPUFwU1VSUF1tYklWU3VybERMcXBLdWFWbGlWPklvT3hKeEx5R1hPaHF0PVFQQlFWSXRSamRWP11QRlBQQ3l2c11ZQl1SWEFzUEx5c1FUXk11TFVPRE11ZURQPVVQcEhzRlV4OlhKYGhObEVZS3lrcVFMUUhTRXVyXmFYX1hKSF1VeXh0Z01SQ1h0anVvP0VRV01MW2FSU2lraWRvZUxzVWR1V0VNdGhZWnlRW3F3eEhUW3RPdTxWR3hxYmBxcDxPUUFXT2VZSUl3XlR2YEhyTnlQO0VLaERMaVRxY1hMcTxOWGVqc0VLc2VUO01ZQTxvc211ZkBVQHR4VU1KWWFNRnV2VmFqVWVsdl14WGBuY3VUaFR4Qlxcd3h0dkNpdUBIc1FVUTptc0p5VVZYTE9lVUFMbWRhWV1UTW91cUVFeFdgeEs9UVFMeUdBeWlIUFxceE9mXXRHPmNKd2BneHdeZl1tSWRKd2dYaXliWF1fXlxcXXhdd1hvb3ZmSmB2Z1FrbFdyaHFgc3hxVGhkX0F1WEhvdGF1eHF2VlBzPmZYUUVHX1lHeXVqR1dxYUNPeUU+V1hbd3VFd3lzTUhzQUNhd1lmc0lpcXZXaVdwV0dvR1ltcXdBZWg7X1hxR1N5W1lRVVc8a0ZhVUdtdWhxZVlFO3hkd2JEVURkV1Y8T1lqbXdjXXJMP1RwdXdGX3NuV3VtaWlhQUlueUJbYVVieXhcXHl5YGNTTG1IeHNJbndZTHdmPW9iX2t0eGdVSldUQl1UdEl2S2tERE1JQ01WWkNIPFdXRjt2WGV1T0dlXlFlTHdpa11Ia0NmclVYdV9EZ29DW09JeXVoX0l5YltlRWhxcnlRP013VGV4SXVOYnVtdjxzT2l3eV11Tz5pZT9vTlhwbkZiXWl5a3l2QHBuTT9eYlFiY09wXUBwTV93T0laXFxpXXRWcEdJdT1QZGJIZk14Y3hYYXQ/YVdQWnN3dz54YUR2djx3cVF2eWtecGlBcl9AZmRZeWZveHNhY3RXX3V2Z0JQbXF2bUtfWk1BclpXWnlBdkNQbXVZZFxcQWJacF1aTmdYd3J5WGF4dmE+d2ZZcGNaZ2VtPnV4aXVbR2lZbnV3UXU8YWlKbnM/XFxVTnBxSGdqZndocVtiYWhiQHhDR2JIVmtrX25UUGVpb2JmeWNVZmBYbmF4aWRsd2lUSGptaGVGP3N3PnFXWHhUV3lnUWJ1cFp0WXBncXBrd3dmV3ZjSFpjQXdbaXVNaXliXm1FZnloX3l5WHNJSW9zWGRKZnh2cV0+eWFSX1pWeHlcXGJTP0ViQXdzXXddd3ZjT0ZvTWh3U1VSYWd5Q1lkaVR3QUJ1QUVHV0Z1U0lHb0VrS1lJR0ZZVVlddXdgdXdYb0d1QUZWV2tHd3F5ZmJAcXJyaWZqP3NZcHU9QF9db249Z1tRQGx0UWJRTlpEZlxcRldlXFx5cXV3WzxwdV4+bHZReFxcWXc8d1xcPFZ4UlBuPXl4aU5bQ05nQl5pck9wd0duRWZ5eVdudHF3Omd3RWZaU3BpX0dcXDw/YFFueFY/d3lnbTxOWl5xeWFHcHh4aU1wa19PaHFZcld4XFx0QHQ/QHZBQVxcZXFfclFxdj51eUB0eWFgV3l5Onh2bXlzWHd5WWZbTVd4b1dtSWd2b0U6O0I6TVRLV0RLV2dKO2VaMTo=</Image></Text-field></Input></Group><Text-field/></Worksheet>