# Author : Manfred Scheucher # Date : Aug 15 2015 # Description: sage script to generate b-file from sys import argv,stdout C = 4 def test(remaining,k,ymax): y0 = (remaining/k)^(1/C) if y0 >= 1 and y0 <= ymax: if k in X: return remaining in X[k] if k == 1: return y0.is_integer() else: for y in [ceil(y0)..ymax]: if test(remaining-y^C,k-1,y): return True return False n = int(argv[1]) X = {0:{0}} kmax = 4 # computation with higher kmax requires more memory but less time for k in [1..kmax]: X[k] = {x+i^C for x in X[k-1] for i in range(1,n) if x+i^C<=n^C} k = 0 DEBUG = True while True: k+=1 if DEBUG: print "t",k,"\r", stdout.flush() if test(n**C,k,n-1): print n,k break