You're reading: Puzzlebomb

Puzzlebomb – February 2015

Puzzlebomb Logo

Puzzlebomb is a monthly puzzle compendium. Issue 38 of Puzzlebomb, for February 2015, can be found here:

Puzzlebomb – Issue 38 – February 2015

The solutions to Issue 38 can be found here:

Puzzlebomb – Issue 38 – February 2015 – Solutions

Previous issues of Puzzlebomb, and their solutions, can be found here.

One Response to “Puzzlebomb – February 2015”

  1. Marshall Hampton

    Is there an easy way to do this by hand? I can cast this as a linear algebra problem and compute it in Sage, but I’m curious if there is an easier way:

    words = ['great', 'genius', 'at', 'gets', 'gaunt', 'gripes', 'priest', 'repast', 'unripe', 'eating']
    lets = 'supergiant'
    mat = []
    for j,q in enumerate(lets):
        temp = []
        for i,g in enumerate(words):
            if q in g:
                temp.append(1)
            else:
                temp.append(0)
        mat.append(temp)
    M = matrix(GF(2),mat)
    answer = M.inverse()*vector(GF(2),[1,1,1,1,1,1,1,1,1,1])
    for i,q in enumerate(words):
        if answer[i]==1:
            print q
    

    (Edited to remove the solution, but curious readers can execute the code to rediscover it – CP)

You must be logged in to post a comment.