Ponder This

Welcome to our monthly puzzles.
You are cordially invited to match wits with some of the best minds in IBM Research.

November 2025 - Solution

<< October December >>

November 2025 Challenge


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
RTGCBRICATGCISCATISBTGCATBRTGCISBTGBRITGCISCATBRTGCBRICATGCISCATISBTGBRITGCISBRI
The 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))