View Single Post
 2020-02-15, 13:23 #11 Dr Sardonicus     Feb 2017 Nowhere 70018 Posts My clunky Pari-GP script (including a print() statement for each term in the sum, and an inevitable superfluous zero term in the sum), my ancient version of Pari-GP, and doddering old computer still did the count for 10^50 in 2 milliseconds. Since I count 1 as a power, my answer is 1 greater than yours. If you take out the print() statement, replace floor(n^(1/i)) with sqrtnint(n,i), and (if you want) take out the s++ statement at the end if you want to ignore the power 1, and run it on your machine, you'll probably do 10^50 in less than a millisecond, and also be able to do arbitrary n. With the default precision, my script craps out at around 10^77 due to insufficient precision. Code: n=10^50; ? s=0;for(i=2,n,if(issquarefree(i),t=-(floor(n^(1/i))-1)*moebius(i);s+=t;print(i" "s" "t));if(t==0,break));s++ 2 9999999999999999999999999 9999999999999999999999999 3 10000000046415888336127786 46415888336127787 5 10000000046415898336127784 9999999998 6 10000000046415898120684316 -215443468 7 10000000046415898134579269 13894953 10 10000000046415898134479271 -99998 11 10000000046415898134514381 35110 13 10000000046415898134521397 7016 14 10000000046415898134517671 -3726 15 10000000046415898134515518 -2153 17 10000000046415898134516390 872 19 10000000046415898134516817 427 21 10000000046415898134516578 -239 22 10000000046415898134516392 -186 Code: 163 10000000046415898134516526 1 165 10000000046415898134516527 1 166 10000000046415898134516526 -1 167 10000000046415898134516526 0 time = 2 ms. %2 = 10000000046415898134516527