← All Duels

claude-sonnet-4-5-20250929_vs_gpt-5-mini-2025-08-07_20260124_020511.jsonl — 10 puzzles

claude-sonnet-4-5-20250929
0
vs
gpt-5-mini-2025-08-07
0
#1 Solved
def mystery(x):
    s = str(x)
    if len(s) < 3:
        return False
    
    char_counts = {}
    for c in s:
        char_counts[c] = char_counts.get(c, 0) + 1
    
    counts = list(char_counts.values())
    return len(counts) == len(set(counts))
"aab"
"122333"
Proposer: claude-sonnet-4-5-20250929 Solver: gpt-5-mini-2025-08-07
0 vs 0
#2 Solved
import math

def mystery(x):
    s = str(x)
    b = s.encode('utf-8')

    # strict length and printable-ascii constraint
    if len(b) != 5:
        return False
    if any(ch < 32 or ch > 126 for ch in b):
        return False

    n = len(b)
    # weighted sum from left: 1*b0 + 2*b1 + ... + n*b_{n-1}
    A = sum((i+1) * b[i] for i in range(n))
    S = sum(b)

    # a symmetric linear relation must hold
    if A != ((n + 1) // 2) * S:
        return False

    # S must be prime
    if S < 2:
        return False
    for p in range(2, int(math.isqrt(S)) + 1):
        if S % p == 0:
            return False

    # (n+1)//2 must be prime too (for n=5 this is 3)
    k = (n + 1) // 2
    if k < 2:
        return False
    for p in range(2, int(math.isqrt(k)) + 1):
        if k % p == 0:
            return False

    # an additional parity/XOR constraint (forces a central symmetry for length 5)
    if (b[0] ^ b[1] ^ b[2] ^ b[3] ^ b[4]) != b[2]:
        return False

    return True
"ababa"
" !+! "
Proposer: gpt-5-mini-2025-08-07 Solver: claude-sonnet-4-5-20250929
0 vs 0
#3 Solved
def mystery(x):
    s = str(x)
    
    # Must be all digits
    if not s or not all(c in '0123456789' for c in s):
        return False
    
    n = len(s)
    
    # Calculate sum of nth powers of digits
    power_sum = 0
    for c in s:
        digit = int(c)
        power = 1
        for _ in range(n):
            power *= digit
        power_sum += power
    
    # Must equal the original number
    num = int(s)
    if num != power_sum:
        return False
    
    # Additional: must be 3 digits
    if n != 3:
        return False
    
    return True
153
153
Proposer: claude-sonnet-4-5-20250929 Solver: gpt-5-mini-2025-08-07
0 vs 0
#4 Solved
def mystery(x):
    s = str(x)
    # strict length and printable-ascii constraint (no space)
    if len(s) != 5:
        return False
    b = s.encode('utf-8')
    if any(ch < 33 or ch > 126 for ch in b):
        return False

    n = len(b)
    # weighted sum from left: 1*b0 + 2*b1 + ... + n*b_{n-1}
    A = sum((i + 1) * b[i] for i in range(n))
    S = sum(b)

    # symmetry constraint for odd lengths (forces a palindrome-like structure)
    if A != ((n + 1) // 2) * S:
        return False

    # parity/XOR constraint (for odd palindrome this forces central symmetry)
    if (b[0] ^ b[1] ^ b[2] ^ b[3] ^ b[4]) != b[2]:
        return False

    # a modular relation using 257 (256 ≡ -1 (mod 257) gives a neat alternating-sum property)
    if int.from_bytes(b, 'big') % 257 != b[2]:
        return False

    # an affine relation between outer bytes and the center (tightens solutions)
    if (b[0] - b[2]) != 17:
        return False

    # final numeric target on the byte-sum (pins down a unique valid combination)
    if S != 308:
        return False

    return True
"AA0AA"
"AA0AA"
Proposer: gpt-5-mini-2025-08-07 Solver: claude-sonnet-4-5-20250929
0 vs 0
#5 Solved
def mystery(x):
    s = str(x)
    
    if not s or not s.isdigit():
        return False
    
    n = int(s)
    
    # Must be a 3-digit number
    if n < 100 or n > 999:
        return False
    
    # Check if n is the sum of factorials of its digits
    factorial_sum = 0
    for c in s:
        digit = int(c)
        fact = 1
        for i in range(1, digit + 1):
            fact *= i
        factorial_sum += fact
    
    return n == factorial_sum
145
145
Proposer: claude-sonnet-4-5-20250929 Solver: gpt-5-mini-2025-08-07
0 vs 0
#6 Sample Solution Wrong
def mystery(x):
    # Accept numbers or strings; work with their string form
    s = str(x)
    # strict length and printable ASCII (no control chars or space)
    if len(s) != 6:
        return False
    try:
        b = s.encode('utf-8')
    except Exception:
        return False
    if any(ch < 33 or ch > 126 for ch in b):
        return False

    # bytes as integers
    B = list(b)  # B[0] .. B[5]

    # three paired linear sums (hidden linear system)
    if (B[0] + B[5]) != 170:
        return False
    if (B[1] + B[4]) != 180:
        return False
    if (B[2] + B[3]) != 190:
        return False

    # alternating signed sum must vanish (enforces a further relation)
    alt = 0
    for i, v in enumerate(B):
        alt += v if (i % 2 == 0) else -v
    if alt != 0:
        return False

    # a small-but-specific XOR fingerprint
    xor_x = 0
    for v in B:
        xor_x ^= v
    if xor_x != 16:
        return False

    # checksum-mod constraint (obscure modulus)
    S = sum(B)
    if (S % 13) != 7:
        return False

    # an obfuscated multiplicative residue on the first three bytes
    prod = 1
    for i in range(3):
        prod = (prod * (B[i] - 32)) % 97
    if prod != 50:
        return False

    # a tiny nicety: two identical middle characters (not strictly necessary, but tightens solutions)
    if B[2] != B[3] and B[3] != B[4]:
        # require at least one adjacent equality among the central three bytes
        return False

    return True
"P<FxxZ"
Proposer: gpt-5-mini-2025-08-07 Solver: claude-sonnet-4-5-20250929
0 vs -1
#7 Solved
def mystery(x):
    s = str(x)
    
    if len(s) != 4:
        return False
    
    # Must be all alphabetic
    if not s.isalpha():
        return False
    
    # Must be all lowercase
    if not s.islower():
        return False
    
    # Convert to ASCII values
    values = [ord(c) for c in s]
    
    # Check if characters form an arithmetic sequence
    diffs = [values[i+1] - values[i] for i in range(3)]
    if len(set(diffs)) != 1:
        return False
    
    # The common difference must be exactly 1
    if diffs[0] != 1:
        return False
    
    # Sum of ASCII values must be divisible by 7
    if sum(values) % 7 != 0:
        return False
    
    # First character must be in first half of alphabet
    if values[0] >= ord('n'):
        return False
    
    # Product of ASCII values must be divisible by 17
    prod = 1
    for v in values:
        prod *= v
    if prod % 17 != 0:
        return False
    
    return True
"defg"
"defg"
Proposer: claude-sonnet-4-5-20250929 Solver: gpt-5-mini-2025-08-07
0 vs -1
#8 Solver Failed
import math

def mystery(x):
    s = str(x)
    # strict length and printable ASCII constraint
    if len(s) != 7:
        return False
    try:
        b = s.encode('utf-8')
    except Exception:
        return False
    if any(ch < 33 or ch > 126 for ch in b):
        return False

    n = len(b)
    # weighted sum constraint (for n=7 this enforces a strong central-symmetry relation)
    A = sum((i + 1) * b[i] for i in range(n))
    S = sum(b)
    if A != ((n + 1) // 2) * S:  # (7+1)//2 = 4
        return False

    # overall XOR must equal the central byte
    xor_all = 0
    for v in b:
        xor_all ^= v
    if xor_all != b[3]:
        return False

    # modulus-257 check (256 ≡ -1 (mod 257) gives an alternating-sum relation)
    if int.from_bytes(b, 'big') % 257 != b[3]:
        return False

    # affine relation between first byte and center
    if (b[0] - b[3]) != 10:
        return False

    # sum must be prime
    if S < 2:
        return False
    for p in range(2, int(math.isqrt(S)) + 1):
        if S % p == 0:
            return False

    # small checksum/mod constraint to further restrict solutions
    if (S % 11) != 1:
        return False

    # multiplicative residue on the central trio
    if (b[2] * b[3] * b[4]) % 97 != 12:
        return False

    return True
5P7-6O7
"S2(I(2S"
Proposer: gpt-5-mini-2025-08-07 Solver: claude-sonnet-4-5-20250929
0 vs 0
#9 Solved
def mystery(x):
    s = str(x)
    
    # Must be a 4-digit number
    if not s.isdigit() or len(s) != 4:
        return False
    
    n = int(s)
    
    # Must be a perfect cube
    cube_root = round(n ** (1/3))
    if cube_root ** 3 != n:
        return False
    
    # Digit sum must be even
    if sum(int(d) for d in s) % 2 != 0:
        return False
    
    # First digit must be less than last digit
    if int(s[0]) >= int(s[-1]):
        return False
    
    # Product of digits must be divisible by 6
    prod = 1
    for d in s:
        prod *= int(d)
    if prod % 6 != 0:
        return False
    
    return True
6859
6859
Proposer: claude-sonnet-4-5-20250929 Solver: gpt-5-mini-2025-08-07
0 vs 0
#10 Solved
def mystery(x):
    """
    Hard puzzle: accepts a 6-character printable-ASCII string and checks several
    interacting linear, modular and bitwise constraints that tightly restrict
    the allowed byte patterns.
    """
    s = str(x)
    if len(s) != 6:
        return False
    try:
        b = s.encode('utf-8')
    except Exception:
        return False
    # printable ASCII (no control chars or space)
    if any(ch < 33 or ch > 126 for ch in b):
        return False

    B = list(b)  # B[0] .. B[5]
    # first/second half sums must match a specific target
    if sum(B[0:3]) != 150:
        return False
    if sum(B[3:6]) != 150:
        return False

    # small affine relations between symmetric positions
    if B[5] != B[0] + 1:
        return False
    if B[4] != B[1] - 1:
        return False
    # middle two bytes must be equal
    if B[3] != B[2]:
        return False

    # modular relation using 257 (256 ≡ -1 (mod 257)) yields an alternating-sum constraint
    if int.from_bytes(b, 'big') % 257 != 2:
        return False

    # overall XOR fingerprint
    xor_all = 0
    for v in B:
        xor_all ^= v
    if xor_all != 2:
        return False

    # weighted checksum modulo a small prime
    A = sum((i + 1) * B[i] for i in range(6))
    if A % 97 != 81:
        return False

    # global sum constraint modulo 13
    S = sum(B)
    if S % 13 != 1:
        return False

    # multiplicative residue on the first three bytes
    prod = (B[0] * B[1] * B[2]) % 101
    if prod != 12:
        return False

    return True
"(2<<1)"
"<2((1="
Proposer: gpt-5-mini-2025-08-07 Solver: claude-sonnet-4-5-20250929
0 vs 0