Solution to Nutraumatic

Back to Puzzle

Answer: INTERSTELLAR TRADE

by Jakob Weisblat and Rahul Sridhar

In this puzzle, we are presented with an interface that looks a lot like Nutrimatic – a popular pattern-matching word-search tool used in constructing and solving puzzles. Over the course of this puzzle, we must identify how Nutraumatic interprets different characters and eventually determine what the last non-example, IXPOWHXQELZTBUMXDS, would output.

Like Nutrimatic, lowercase letters are interpreted as literal matches while uppercase letters correspond to specific operators. A, C, and V are explicitly defined in the Syntax section and exactly match their behavior in regular Nutrimatic. However, as the “...” indicates, there are more uppercase operators whose rules must be determined. Unlike Nutrimatic, Nutraumatic does not accept any non-alphabetic operators like ., *, or +.

The other major difference between the two tools is that all queries to Nutraumatic must be English words (specifically, when converted to lowercase, they must be words in the SOWPODS word list).

By experimenting with carefully-crafted queries, we can determine that all of the uppercase letters are valid Nutraumatic operators, and we can determine their definitions as follows:

AMatches any letter, like real Nutrimatic
BSee D
CMatches any consonant, like real Nutrimatic
DB[stuff]D matches a palindromized version of whatever [stuff] matches. For example, if [stuff] matches abc, B[stuff]D matches abcba.
EMatches any single letter other than E
F| (Logical OR). For example, AFrO returns anything that matches either A or rO.
G* (matches 0 or more of the previous token)
HMatches any sequence of letters whose numeric values add to 42
IMatches any state abbreviation
JRedirects you to real Nutrimatic
KMatches any letter with scrabble score > 4
LInverts the previous letter. AL → no results, EL → e, VL → C, etc. Matches only single letters, so OL matches nothing and IL matches all single letters.
MMatches the letter corresponding to the length of the query as a lowercase letter. E.g. in a 3-letter query, it matches ‘c’.
NAny double letter
OAny increasing sequence of letters. (In other words, the letters in the sequence should be distinct and in alphabetical order.)
POpen parenthesis (
QClose parenthesis )
R& (Logical AND). For example, AfRO returns anything that matches both Af and O.
SCopies the first character in the query, preserving case.
T+ (matches one or more of the previous token)
UMatches any letter in [nutrimatic] (or [nutraumatic]!)
VMatches any vowel, like real Nutrimatic
WMatches the letter corresponding to the length of the query as an uppercase letter. E.g. in a three-letter query, it matches any consonant like C.
XAll instances of X must match the same, single letter E.g. XeroX matches xerox and merom but not merox.
Y? (0 or 1 of the previous token)
ZConverts to a lowercase version of the preceding letter, which must be uppercase. E.g. HAZE matches like HAaE.

Once we have identified enough of the operators, we can turn to the query string IXPOWHXQELZTBUMXDS, which is listed as the final “non-example”. If we could search this query, we would find that it matches exactly 1 phrase (well, actually it times out, but close enough), but since IXPOWHXQELZTBUMXDS is not in SOWPODS, we need to find that phrase by other means.

The first step is to correctly parse the query:

Istate abbreviation
XX
Popen parenthesis
OIncreasing sequence
Wbecomes R → & (length of query as uppercase letter)
HSums to 42
XX
Qclose parenthesis
Ee
L
Zl
T+
Bpalindrome open
Unutrimatic letter
Mr (length of query as lowercase letter)
XX
Dpalindrome close
Sstate abbreviation

From here there are several possible approaches. One method is to build a Nutrimatic query that matches a superset of the results. This requires a little creativity for some of the operators, as well as a firm conviction in the power of Nutrimatic. Here’s one possible way of doing so:

I(al|ak|as|az|ar|ca|co|ct|de|dc|fm|fl|ga|gu|hi|id|il|in|ia|ks|ky|la|me|mh|md|ma|mi|mn|ms|mo|mt|ne|nv|nh|nj|nm|ny|nc|nd|mp|oh|ok|or|pw|pa|pr|ri|sc|sd|tn|tx|ut|vt|vi|va|wa|wv|wi|wy)
XA
P(a?b?c?d?e?f?g?h?i?j?k?l?m?n?o?p?q?r?s?t?u?v?w?x?y?z?)
O
W
H
X
Q
Ee
L
Zl
T+
B(nrArn|urAru|trArt|rrArr|irAri|mrArm|arAra|crArc)
U
M
X
D
S(al|ak|as|az|ar|ca|co|ct|de|dc|fm|fl|ga|gu|hi|id|il|in|ia|ks|ky|la|me|mh|md|ma|mi|mn|ms|mo|mt|ne|nv|nh|nj|nm|ny|nc|nd|mp|oh|ok|or|pw|pa|pr|ri|sc|sd|tn|tx|ut|vt|vi|va|wa|wv|wi|wy)

When put together this yields the 463 character query:

(al|ak|as|az|ar|ca|co|ct|de|dc|fm|fl|ga|gu|hi|id|il|in|ia|ks|ky|la|me|mh|md|ma|mi|mn|ms|mo|mt|ne|nv|nh|nj|nm|ny|nc|nd|mp|oh|ok|or|pw|pa|pr|ri|sc|sd|tn|tx|ut|vt|vi|va|wa|wv|wi|wy)A(a?b?c?d?e?f?g?h?i?j?k?l?m?n?o?p?q?r?s?t?u?v?w?x?y?z?)el+(nrArn|urAru|trArt|rrArr|irAri|mrArm|arAra|crArc)(al|ak|as|az|ar|ca|co|ct|de|dc|fm|fl|ga|gu|hi|id|il|in|ia|ks|ky|la|me|mh|md|ma|mi|mn|ms|mo|mt|ne|nv|nh|nj|nm|ny|nc|nd|mp|oh|ok|or|pw|pa|pr|ri|sc|sd|tn|tx|ut|vt|vi|va|wa|wv|wi|wy)

which astonishingly, yields the answer. [Note that this query ignores two things, though they can be manually verified: the "sum to 42" constraint (E + R + S = 42), and the X constraint (all of them are "T").]

A second approach is to reason out the phrase by trying to form valid word beginnings and endings. For example, a reasonable assumption is that the U in the query, which matches any letter in “nutrimatic,” is likely an a, which means that the phrase contains the substring “ellar”, (with possibly more l’s).

There aren’t many words ending in “ellar” and one can quickly ascertain that “interstellar” matches the first half of the query. If interstellar is the start of the phrase, then the X and palindrome operators confirm that the end of the phrase is 5 letters, begins with “tra” and ends with a state abbreviation. There are a number of words that match, but only one word combines with the first to make a meaningful phrase.

Either way, the answer is INTERSTELLAR TRADE.