November 2025 - Solution
November 2025 Solution:
The solutions are
TGTGCTGCCATGCCACATTGCCACATCATTGCATTGTGCTGCCATGCCACATTGCCACATCATTGTGCCACATCATTGCATTGTGCT GCCACATCATTGCATTGTGCCATTGTGCTGCCACATTGTGCTGCCATGCCACATCATTGTGCTGCCATGCCACATTGCCACATCATTGCATT GTGCTGCCATGCCACATTGCCACATCATTGTGCCACATCATTGCATTGTGCCATTGTGCTGCCATGCCACATTGCCACATCATTGTGCCACA TCATTGCATTGTGCTGCCACATCATTGCATTGTGCCATTGTGCTGCCACATTGTGCTGCCATGCCACATTGCCACATCATTGTGCCACATCA TTGCATTGTGCTGCCACATCATTGCATTGTGCCATTGTGCTGCCATGCCACATCATTGCATTGTGCCATTGTGCTGCCACATTGTGCTGCCA TGCCACATTGCCACATCATTGCATTGTGCCATTGTGCTGCCACATTGTGCTGCCATGCCACATCATTGTGCTGCCATGCCACATTGCCACAT CATTGTGCCACATCATTGCATTGTGCCATTGTGCTGCCACATTGTGCTGCCATGCCACATCATTGTGCTGCCATGCCACATTGCCACATCAT TGCATTGTGCTGCCATGCCACATTGCCACATCATTGTGCCACATCATTGCATTGTGCTGCCACATCATTGCATTGTGCCATTGTGCTGCCAC ATTGTGCTGCCATGCCACATCATTGTGCTGCCATGCCACATTGCCACATCATTGCATTGTGCTGCCATGCCACATTGCCACATCATTGTGCC ACATCATTGCATTGTGCCATTGTGCTGCCATGCCACATTGCCACATCATTGTGCCACATCATTGCATTGTGCTGCCACATCATTGCATTGTG CCATTGTGCTGCCATGCCACATCATTGCATTGTGCCATTGTGCTGCCACATTGTGCTGCCATGCCACATCATTGTGCTGCCATGC
And
BRTGCBRICATGCISCATBRICAISBCATBRISBTGBRITGCISBRICAISBTGCISCATISBTGBRICAISBCATBRISBTGBRITGCISC ATISBTGCATBRTGCISBTGBRITGCISCATBRTGCBRICATGCISCATISBTGBRITGCISBRICAISBTGCISCATISBTGCATBRTGCB RICATGCISCATBRICAISBCATBRTGCISCATISBTGCATBRTGCISBTGBRITGCISBRICAISBTGCISCATISBTGBRICAISBCATB RISBTGBRITGCISCATISBTGCATBRTGCISBTGBRITGCISCATBRTGCBRICATGCISCATBRICAISBCATBRTGCISCATISBTGCA TBRTGCBRICAISBCATBRISBTGBRICATBRTGCBRICATGCISCATISBTGCATBRTGCISBTGBRITGCISCATBRTGCBRICATGCIS CATBRICAISBCATBRISBTGBRICATBRTGCBRICAISBTGBRITGCISBRICAISBCATBRTGCBRICATGCISCATBRICAISBCATBR TGCISCATISBTGCATBRTGCISBTGBRITGCISCATBRTGCBRICATGCISCATISBTGBRITGCISBRICAISBTGCISCATISBTGCAT BRTGCBRICATGCISCATBRICAISBCATBRTGCISCATISBTGCATBRTGCBRICAISBCATBRISBTGBRICATBRTGCBRICAISBTGB RITGCISBRICAISBCATBRTGCBRICATGCISCATBRICAISBCATBRISBTGBRITGCISBRICAISBTGCISCATISBTGBRICAISBC ATBRISBTGBRICATBRTGCBRICATGCISCATBRICAISBCATBRTGCISCATISBTGCATBRTGCBRICAISBCATBRISBTGBRICATB RTGCBRICATGCISCATISBTGCATBRTGCISBTGBRITGCISCATBRTGCBRICATGCISCATISBTGBRITGCISBRIThe key observation is that for each letter, the length of the word generated from that letter grows exponentially, so after a very managable number of steps (around 500) the generated words will already be of length 10^{100}. This enables to compute the letter in a specific position in the following recursive manner, which was written very compactly in Python by Li Li (thanks!):
D = {'G': 'T', 'T':'CA', 'C': 'TG', 'A': 'C'}
#D = {'G': 'T', 'T': 'CA', 'C' : 'BR', 'A': 'I', 'R': 'B', 'B': 'IS', 'I': 'TG', 'S': 'C'}
L = {}
M = 600
for c in D:
L[c] = [1]*M
for i in range(1,M):
for c in D:
L[c][i] = sum(L[d][i-1] for d in D[c])
print(len(str(L['C'][500])))
def returnstring (c, N, start, end):
if end>=L[c][N]+1:
return 'Error'
if N == 0:
return c
if len(D[c])==1:
return returnstring(D[c], N-1, start, end)
if end<=L[D[c][0]][N-1]:
return returnstring(D[c][0], N-1, start, end)
if start>=L[D[c][0]][N-1]+1:
return returnstring(D[c][1], N-1, start-L[D[c][0]][N-1],end-L[D[c][0]][N-1])
else:
return returnstring(D[c][0], N-1, start, L[D[c][0]][N-1])+returnstring(D[c][1], N-1, 1, end-L[D[c][0]][N-1])
print(returnstring ('R', 500, 10**100+1,10**100+1000))