Got a correct program going to find $m(6).$ Today is Monday, 7 October, 2013. I call it joseph.cc I started it going at 12:53 PDT, lunchtime, and put timestamps into the file that keeps the successes (of smaller size as we continue) called joseph.txt. I switched to log 10 for the output. Anyway, readable or not, here is output for the first four and a half hours, followed by the program in its entirety: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 116.814 651907611648300222725782474725592418809035465656889971919224893561886421964804482955701436492603438100109520590000000 = 2^7 3^7 5^7 7^5 11^5 13^5 17^5 19^4 23^4 29^3 31^3 37^3 41^3 43^3 47^3 53^3 59^3 61^3 67^2 71^2 73^2 79^2 83^2 89^2 97^2 101^2 17283248640000 1296 Mon Oct 7 12:58:36 PDT 2013 116.094 124169835254646341805332354513462020365253985861321166105191056581780738935164700557095176071476176867808332370000000 = 2^7 3^7 5^7 7^5 11^5 13^5 17^5 19^4 23^4 29^4 31^3 37^3 41^3 43^3 47^3 53^3 59^3 61^3 67^3 71^2 73^2 79^2 83^2 89^2 97^2 17283248640000 1296 Mon Oct 7 12:58:37 PDT 2013 115.463 29046424422943628261615103866949719080021683800698043001118664633489149367233234767368103149465306120315244930000000 = 2^7 3^7 5^7 7^5 11^5 13^5 17^5 19^4 23^4 29^4 31^4 37^3 41^3 43^3 47^3 53^3 59^3 61^3 67^3 71^3 73^2 79^2 83^2 89^2 17283248640000 1296 Mon Oct 7 12:58:37 PDT 2013 114.996 9904607040319497529935916619698420809889984591047268545135906220812295472907078286410964096289078630346102330000000 = 2^7 3^7 5^7 7^5 11^5 13^5 17^5 19^4 23^4 29^4 31^4 37^4 41^3 43^3 47^3 53^3 59^3 61^3 67^3 71^3 73^3 79^2 83^2 17283248640000 1296 Mon Oct 7 12:58:37 PDT 2013 114.668 4656847467498164102113867605051993758634585584323138745492117905241838443423722829102208260688100694395561830000000 = 2^7 3^7 5^7 7^5 11^5 13^5 17^5 19^4 23^4 29^4 31^4 37^4 41^4 43^3 47^3 53^3 59^3 61^3 67^3 71^3 73^3 79^3 17283248640000 1296 Mon Oct 7 12:58:37 PDT 2013 114.533 3413990801383729063446996805975279442431534859039247321555545609617270301842462008385267520786794596391048230000000 = 2^7 3^7 5^7 7^7 11^5 13^5 17^5 19^5 23^4 29^4 31^4 37^3 41^3 43^3 47^3 53^3 59^3 61^3 67^3 71^3 73^2 79^2 83^2 15122842560000 1296 Mon Oct 7 12:59:31 PDT 2013 114.127 1338538126656619567480089762365979064306514102811004066703662170355094656013425734453274433683427522841083070000000 = 2^7 3^7 5^7 7^7 11^5 13^5 17^5 19^5 23^4 29^4 31^4 37^4 41^3 43^3 47^3 53^3 59^3 61^3 67^3 71^3 73^3 79^2 15122842560000 1296 Mon Oct 7 12:59:31 PDT 2013 114.077 1193767539331957140297096557815901213255897692075957159953947066206770846878821925647640682243543917983250820000000 = 2^8 3^7 5^7 7^7 11^7 13^5 17^5 19^5 23^5 29^4 31^4 37^4 41^3 43^3 47^3 53^3 59^3 61^3 67^3 71^3 73^3 15122842560000 1296 Mon Oct 7 13:04:22 PDT 2013 113.751 563595000697524028412669373627780658655374359078317501769963019096881960426705572401378708919337904354140240000000 = 2^10 3^7 5^7 7^7 11^5 13^5 17^5 19^4 23^4 29^4 31^4 37^4 41^3 43^3 47^3 53^3 59^3 61^3 67^3 71^3 73^3 79^2 17283248640000 1296 Mon Oct 7 13:43:05 PDT 2013 113.681 479713034655167619889199144750191682431953221592392423757550900001381572388373236190584839617015121107059760000000 = 2^10 3^7 5^7 7^7 11^7 13^5 17^5 19^5 23^4 29^4 31^4 37^3 41^3 43^3 47^3 53^3 59^3 61^3 67^3 71^3 73^2 79^2 15122842560000 1296 Mon Oct 7 13:43:38 PDT 2013 113.317 207611745970775154834277662228852384914069163839296897383295141949003625544142943590894031694529377040565360000000 = 2^10 3^7 5^7 7^7 11^7 13^5 17^5 19^5 23^4 29^4 31^4 37^4 41^3 43^3 47^3 53^3 59^3 61^3 67^3 71^3 73^3 15122842560000 1296 Mon Oct 7 13:43:38 PDT 2013 113.183 152423056883707418625917905897515055243775047382212678813659537530460441258763728955857663845404589668440480000000 = 2^11 3^11 5^7 7^7 11^7 13^5 17^5 19^5 23^4 29^4 31^4 37^4 41^4 43^4 47^3 53^3 59^3 61^3 67^3 71^3 15490911744000 1296 Mon Oct 7 15:20:11 PDT 2013 113.078 119566635396053760260655511704533254626509877044047829323668660744724525901853491905891882920404646652772640000000 = 2^11 3^11 5^7 7^7 11^7 13^5 17^5 19^5 23^5 29^3 31^3 37^3 41^3 43^3 47^3 53^2 59^2 61^2 67^2 71^2 73^2 79^2 83^2 89^2 9681819840000 1296 Mon Oct 7 15:20:11 PDT 2013 112.366 23200848201456208751499497726280471198200439466822562008645212923196767619132535924675650050329749009634080000000 = 2^11 3^11 5^7 7^7 11^7 13^5 17^5 19^5 23^5 29^4 31^3 37^3 41^3 43^3 47^3 53^3 59^2 61^2 67^2 71^2 73^2 79^2 83^2 9681819840000 1296 Mon Oct 7 15:20:12 PDT 2013 111.79 6159725847069735201987600717283637947671447784122291466658745019092304830221136334189543321534781672030880000000 = 2^11 3^11 5^7 7^7 11^7 13^5 17^5 19^5 23^5 29^4 31^4 37^3 41^3 43^3 47^3 53^3 59^3 61^2 67^2 71^2 73^2 79^2 9681819840000 1296 Mon Oct 7 15:20:12 PDT 2013 111.348 2227607953346641940536134404568045320925245577433746489384519709676547348471255360721967517497837243033760000000 = 2^11 3^11 5^7 7^7 11^7 13^5 17^5 19^5 23^5 29^4 31^4 37^4 41^3 43^3 47^3 53^3 59^3 61^3 67^2 71^2 73^2 9681819840000 1296 Mon Oct 7 15:20:12 PDT 2013 111.06 1148290307345322839304327492840761962203349521713361157128781317785977775614662877820087215343696548435680000000 = 2^11 3^11 5^7 7^7 11^7 13^5 17^5 19^5 23^5 29^4 31^4 37^4 41^4 43^3 47^3 53^3 59^3 61^3 67^3 71^2 9681819840000 1296 Mon Oct 7 15:20:12 PDT 2013 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= #include <iostream> #include <stdlib.h> #include <fstream> #include <sstream> #include <strstream> #include <list> #include <set> #include <math.h> #include <iomanip> #include <string> #include <algorithm> #include <iterator> #include <gmp.h> #include <gmpxx.h> using namespace std; // const double my_pi = 4 * atan(1.0); const double E_TO_THE_GAMMA = 1.7810724179901979852365 ; const double GAMMA = 0.57721566490153286060 ; const int BOUND = 1875; // joseph.cc // g++ -o joseph joseph.cc -lgmp -lgmpxx string stringify(int x) { ostringstream o; o << x ; return o.str(); } string mp_Factored( mpz_class i) { string fac; fac = " = "; int p = 2; mpz_class temp = i; if (temp < 0 ) { temp *= -1; fac += " -1 * "; } if ( 1 == temp) fac += " 1 "; if ( temp > 1) { int primefac = 0; while( temp > 1 && p * p <= temp) { if (temp % p == 0) { ++primefac; if (primefac > 1) fac += " "; fac += stringify( p) ; temp /= p; int exponent = 1; while (temp % p == 0) { temp /= p; ++exponent; } // while p is fac if ( exponent > 1) { fac += "^" ; fac += stringify( exponent) ; } } // if p is factor ++p; } // while p if (temp > 1 && primefac >= 1) fac += " "; if (temp > 1 ) fac += stringify( temp.get_ui()) ; } // temp > 1 return fac; } // mp_Factored // g++ -o joseph joseph.cc -lgmp -lgmpxx mpz_class intpow(int n, int k) { mpz_class blob = 1; for(int j = 1; j <= k; ++j) blob *= n; return ( blob ); } mpz_class orourke( mpz_class i) { mpz_class joe = 1; int p = 2; mpz_class temp = i; if (temp < 0 ) { temp *= -1; } if ( temp > 1) { while( temp > 1 && p * p <= temp) { if (temp % p == 0) { temp /= p; int exponent = 1; while (temp % p == 0) { temp /= p; ++exponent; } // while p is fac if ( exponent > 1) { joe *= exponent ; } } // if p is factor ++p; } // while p } // temp > 1 return joe; } // orourke // g++ -o joseph joseph.cc -lgmp -lgmpxx int main() { ofstream erasefile("joseph.txt"); erasefile.close(); // double luge = 0.0; // declared later although compile did not complain double luge_bound = 270.0; //270.0 // product of exponents for( int e2 = 2; e2 * log(2.0) < luge_bound ; ++e2){ mpz_class p2 = intpow(2, e2) ; double luge2 = e2 * log(2.0) ; // cerr << "2^" << e2 << endl; for( int e3 = 0; e3 <= e2 && luge2 + e3 * log(3.0) < luge_bound ; ++e3){ mpz_class p3 = p2 * intpow(3, e3) ; double luge3 = luge2 + e3 * log(3.0) ; // cerr << "2^" << e2 << " 3^" << e3 << endl; for( int e5 = 0; e5 <= e3 && luge3 + e5 * log(5.0) < luge_bound ; ++e5){ mpz_class p5 = p3 * intpow(5, e5) ; double luge5 = luge3 + e5 * log(5.0) ; // cerr << "2^" << e2 << " 3^" << e3 << " 5^" << e5 << endl; for( int e7 = 0; e7 <= e5 && luge5 + e7 * log(7.0) < luge_bound ; ++e7){ mpz_class p7 = p5 * intpow(7, e7) ; double luge7 = luge5 + e7 * log(7.0) ; cerr << "2^" << e2 << " 3^" << e3 << " 5^" << e5 << " 7^" << e7 << endl; system("date"); cout << endl; for( int e11 = 0; e11 <= e7 && luge7 + e11 * log(11.0) < luge_bound ; ++e11){ mpz_class p11 = p7 * intpow(11, e11) ; double luge11 = luge7 + e11 * log(11.0) ; for( int e13 = 0; e13 <= e11 && luge11 + e13 * log(13.0) < luge_bound ; ++e13){ mpz_class p13 = p11 * intpow(13, e13) ; double luge13 = luge11 + e13 * log(13.0) ; for( int e17 = 0; e17 <= e13 && luge13 + e17 * log(17.0) < luge_bound ; ++e17){ mpz_class p17 = p13 * intpow(17, e17) ; double luge17 = luge13 + e17 * log(17.0) ; for( int e19 = 0; e19 <= e17 && luge17 + e19 * log(19.0) < luge_bound ; ++e19){ mpz_class p19 = p17 * intpow(19, e19) ; double luge19 = luge17 + e19 * log(19.0) ; for( int e23 = 0; e23 <= e19 && luge19 + e23 * log(23.0) < luge_bound ; ++e23){ mpz_class p23 = p19 * intpow(23, e23) ; double luge23 = luge19 + e23 * log(23.0) ; for( int e29 = 0; e29 <= e23 && luge23 + e29 * log(29.0) < luge_bound ; ++e29){ mpz_class p29 = p23 * intpow(29, e29) ; double luge29 = luge23 + e29 * log(29.0) ; for( int e31 = 0; e31 <= e29 && luge29 + e31 * log(31.0) < luge_bound ; ++e31){ mpz_class p31 = p29 * intpow(31, e31) ; double luge31 = luge29 + e31 * log(31.0) ; for( int e37 = 0; e37 <= e31 && luge31 + e37 * log(37.0) < luge_bound ; ++e37){ mpz_class p37 = p31 * intpow(37, e37) ; double luge37 = luge31 + e37 * log(37.0) ; for( int e41 = 0; e41 <= e37 && luge37 + e41 * log(41.0) < luge_bound ; ++e41){ mpz_class p41 = p37 * intpow(41, e41) ; double luge41 = luge37 + e41 * log(41.0) ; for( int e43 = 0; e43 <= e41 && luge41 + e43 * log(43.0) < luge_bound ; ++e43){ mpz_class p43 = p41 * intpow(43, e43) ; double luge43 = luge41 + e43 * log(43.0) ; for( int e47 = 0; e47 <= e43 && luge43 + e47 * log(47.0) < luge_bound ; ++e47){ mpz_class p47 = p43 * intpow(47, e47) ; double luge47 = luge43 + e47 * log(47.0) ; for( int e53 = 0; e53 <= e47 && luge47 + e53 * log(53.0) < luge_bound ; ++e53){ mpz_class p53 = p47 * intpow(53, e53) ; double luge53 = luge47 + e53 * log(53.0) ; for( int e59 = 0; e59 <= e53 && luge53 + e59 * log(59.0) < luge_bound ; ++e59){ mpz_class p59 = p53 * intpow(59, e59) ; double luge59 = luge53 + e59 * log(59.0) ; for( int e61 = 0; e61 <= e59 && luge59 + e61 * log(61.0) < luge_bound ; ++e61){ mpz_class p61 = p59 * intpow(61, e61) ; double luge61 = luge59 + e61 * log(61.0) ; for( int e67 = 0; e67 <= e61 && luge61 + e67 * log(67.0) < luge_bound ; ++e67){ mpz_class p67 = p61 * intpow(67, e67) ; double luge67 = luge61 + e67 * log(67.0) ; for( int e71 = 0; e71 <= e67 && luge67 + e71 * log(71.0) < luge_bound ; ++e71){ mpz_class p71 = p67 * intpow(71, e71) ; double luge71 = luge67 + e71 * log(71.0) ; for( int e73 = 0; e73 <= e71 && luge71 + e73 * log(73.0) < luge_bound ; ++e73){ mpz_class p73 = p71 * intpow(73, e73) ; double luge73 = luge71 + e73 * log(73.0) ; for( int e79 = 0; e79 <= e73 && luge73 + e79 * log(79.0) < luge_bound ; ++e79){ mpz_class p79 = p73 * intpow(79, e79) ; double luge79 = luge73 + e79 * log(79.0) ; for( int e83 = 0; e83 <= e79 && luge79 + e83 * log(83.0) < luge_bound ; ++e83){ mpz_class p83 = p79 * intpow(83, e83) ; double luge83 = luge79 + e83 * log(83.0) ; for( int e89 = 0; e89 <= e83 && luge83 + e89 * log(89.0) < luge_bound ; ++e89){ mpz_class p89 = p83 * intpow(89, e89) ; double luge89 = luge83 + e89 * log(89.0) ; for( int e97 = 0; e97 <= e89 && luge89 + e97 * log(97.0) < luge_bound ; ++e97){ mpz_class p97 = p89 * intpow(97, e97) ; double luge97 = luge89 + e97 * log(97.0) ; for( int e101 = 0; e101 <= e97 && luge97 + e101 * log(101.0) < luge_bound ; ++e101){ mpz_class p101 = p97 * intpow(101, e101) ; double luge101 = luge97 + e101 * log(101.0) ; for( int e103 = 0; e103 <= e101 && luge101 + e103 * log(103.0) < luge_bound ; ++e103){ mpz_class p103 = p101 * intpow(103, e103) ; double luge103 = luge101 + e103 * log(103.0) ; for( int e107 = 0; e107 <= e103 && luge103 + e107 * log(107.0) < luge_bound ; ++e107){ mpz_class p107 = p103 * intpow(107, e107) ; double luge107 = luge103 + e107 * log(107.0) ; for( int e109 = 0; e109 <= e107 && luge107 + e109 * log(109.0) < luge_bound ; ++e109){ mpz_class p109 = p107 * intpow(109, e109) ; double luge109 = luge107 + e109 * log(109.0) ; for( int e113 = 0; e113 <= e109 && luge109 + e113 * log(113.0) < luge_bound ; ++e113){ mpz_class p113 = p109 * intpow(113, e113) ; double luge113 = luge109 + e113 * log(113.0) ; for( int e127 = 0; e127 <= e113 && luge113 + e127 * log(127.0) < luge_bound ; ++e127){ mpz_class p127 = p113 * intpow(127, e127) ; double luge127 = luge113 + e127 * log(127.0) ; for( int e131 = 0; e131 <= e127 && luge127 + e131 * log(131.0) < luge_bound ; ++e131){ mpz_class p131 = p127 * intpow(131, e131) ; double luge131 = luge127 + e131 * log(131.0) ; for( int e137 = 0; e137 <= e131 && luge131 + e137 * log(137.0) < luge_bound ; ++e137){ mpz_class p137 = p131 * intpow(137, e137) ; double luge137 = luge131 + e137 * log(137.0) ; for( int e139 = 0; e139 <= e137 && luge137 + e139 * log(139.0) < luge_bound ; ++e139){ mpz_class p139 = p137 * intpow(139, e139) ; double luge139 = luge137 + e139 * log(139.0) ; for( int e149 = 0; e149 <= e139 && luge139 + e149 * log(149.0) < luge_bound ; ++e149){ mpz_class p149 = p139 * intpow(149, e149) ; double luge149 = luge139 + e149 * log(149.0) ; // g++ -o joseph joseph.cc -lgmp -lgmpxx mpz_class p = p149; double luge = luge149; if ( orourke(orourke(orourke(orourke(orourke(p))))) != 1 && orourke(orourke(orourke(orourke(orourke(orourke(p)))))) == 1 && luge < luge_bound ) { cout << setw(12) << luge / log(10.0) << " " << p << mp_Factored(p) << " " << orourke(p) << endl; luge_bound = luge; ofstream outfile("joseph.txt",ios::app); outfile << setw(12) << luge / log(10.0) << " " << p << mp_Factored(p) << " " << orourke(p) << " " << orourke(orourke(p)) << endl; outfile.close(); // close quickly save partial progress system("date >> joseph.txt") ; } // if } // 149 } // 139 } // 137 } // 131 } // 127 } // 113 } // 109 } // 107 } // 103 } // 101 } // 97 } // 89 } // 83 } // 79 } // 73 } // 71 } // 67 } // 61 } // 59 } // 53 } // 47 } // 43 } // 41 } // 37 } // 31 } // 29 } // 23 } // 19 } // 17 } // 13 } // 11 } // 7 } // 5 } // 3 } // 2 return 0 ; } =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=