# How to confirm the reader has the right answer without showing the answer?

I'm writing a puzzle book for young readers where there are a lot of simple riddles and puzzles. For instance: "It belongs to you, but your friends use it more. What is it?", and the answer is of course:

But as soon as you open the spoiler tag, the answer is revealed and you can't try again. In a book this would be equivalent.

I would like to avoid convoluted solutions, like counting and summing the letters or generating a hash. The goal is to tell the reader "You got the wrong answer" without giving any clue on what the right answer is. Any suggestions?

• "But in a book I don't have spoiler tags." Note that the spoiler tags don't accomplish your goal either.
– TTT
Commented Aug 9, 2022 at 4:29
• You're right, once revealed, it does not matter if it was hidden or not. Edited. Commented Aug 9, 2022 at 4:34
• This is a typical problem in cryptology, however the usual solutions are "convoluted" in your sense. If you don't even allow counting letters, then I don't have much idea. Commented Aug 9, 2022 at 6:08
• Obvious solutions for easy riddles can be much harder to create. The riddle mentioned above could easily have "your doorbell" or "your phone number" as an answer. As it is for young readers maybe somthing like "contains an 'm' but no 'i,r,s'"? Commented Aug 9, 2022 at 10:55
• Your question reminded me of this amazing video about zk (zero-knowledge) proofs: youtu.be/fOGdb1CTu5c
– Ryan
Commented Aug 9, 2022 at 19:07

If all of the answers are one word or one short phrase, then the following might be an option.

Sort all of the answers to all of the riddles in alphabetical order in the answer section in the back of the book.

The solver will not look up the question to find the answer, but will look up the answer and if it is correct, it will be there, with the riddle number associated with it.

Challenge #1:
It could be the case that there are not enough riddles to make this a good approach, since the list would be too short and the solver might see many other answers to nearby riddles that they have not yet solved.

Solution to Challenge #1:
Add in as many buffer words as necessary to separate the answers. The buffer words, which are not answers, would simply not have any riddle number beside them, meaning that they are not the answer to any riddle in the book.

On second thought, adding in buffer words is a good practice even if you have lots of riddles, and the best way to create that list is to go through each of your riddles and come up with lots of wrong answers to them and use those words (and short phrases) as buffer words. If you have 2-3 buffer words for each actual answer, that might be enough to pad the answer list with enough non-answers to prevent accidental seeing and remembering of answers.

Of course, this custom method of answer checking must be explained to the solver up front, and it would be good if you explained why.

• As the answer from @Bass, you could include red herrings with fake answers to puzzles that don't exist (they need not be consecutively numbered). Commented Aug 9, 2022 at 16:03
• @WeatherVane I don't follow
– JLee
Commented Aug 9, 2022 at 16:55
• I mean: include things in the sorted list that aren't actually answers to any puzzle. They can be indexed with a puzzle that doesn't exist: for example numbering the actual puzzles 1, 3, 7, 12 etc, but not placing them in the right sequence in the book - only the answers being ordered. Commented Aug 9, 2022 at 16:58
• I like this answer, but also like the addition Weather Vane suggests. Have gaps in the puzzle numbers (and/or randomize them) as well. That way you can have numbers next to all words. If it's Sunstroke -> 4. Suntan. Tan. Tin -> 12, then Sunstroke and Tin would stand out and you know it's a solution to a puzzle. If however, there isn't any puzzles numbered 5 and 16, you could have: Sunstroke -> 4. Suntan -> 16. Tan -> 5. Tin -> 12. Commented Aug 10, 2022 at 8:23
• @ilmiacs, Rather than having "->27", it could have "->18+4+5". Or it could have "->F7", where F7 is the coordinates for a separate table of answer numbers. Yes, cheating is still possible, but the goal is to avoid accidentally seeing the correct answer. Commented Aug 10, 2022 at 12:45

One solution that the other answers didn't mention (and the OP didn't exclude) is to set up a simple website dedicated to your book and put the solutions there as some kind of password for navigating to another page. What I have in mind is something like Project Euler, but someone may come up with better examples.

If an online website cannot be considered as an option, then maybe a CD-ROM including an offline version of this idea?

• Sites like Certitude provide exactly this service. Enter an answer and it will tell you right or wrong. Commented Aug 10, 2022 at 3:10
• Then you need a computer and an access to internet to be able to check your answers, which is much more complicated than a simple book and might very well rebuke the parents if this is for a child; and in five years when the website is abandoned, the book will no longer be usable.
– Stef
Commented Aug 10, 2022 at 14:40

Have a grid of letters where some of them have a colored background:

To check the answer, check that each letter has a green background. By coloring in some extra squares, guessing the correct answer based on just the grid is quite difficult.

This also allows for alternative answers, such as "NAME" vs. "YOUR NAME" vs. "OWN NAME".

There will be some false positives such as "YAM" or "CAR", but with luck or careful design these don't matter much. You should probably still have a regular answer list at the back of the book also.

• Good old anagrams! Commented Aug 10, 2022 at 18:46

You could give the answer from a series of spoilers, in several steps.

Suppose you think an answer is Weather Vane. The clue says go to section XYZ.

Then at XYZ it says "three words" so you go back. But suppose your guess was Don't Look Now. Then you follow the XYZ clue which says go to section PQR.

Then at PQR it says "second word initial is F" so you go back. But suppose your guess was My Fair Lady. This clue says go to section EFG.

And so on, until the whole answer is revealed, but it does not say to which puzzle it belongs.

The clue and answer sections are in a random sequence.

Here is an example for one question, where my guesses are

• first guess is St Andrews
• second guess is Glasgow
• third guess is Edinburgh

Question 13
In which town or city is the seat of government in Scotland?
go to section 72

. . .

Section 20
If the second letter is d goto section 42, or return to question

. . .

Section 42
The answer is Edinburgh

. . .

Section 72
If it has one word go to section 20, or return to question

• I don't understand. How are you getting a different clue response to different answer attempts, in a book format?
– JLee
Commented Aug 9, 2022 at 16:57
• How can you have, in a book format, 2 different clues, XYZ and PQR for the same riddle, depending on one's answer to that riddle? I'm still stumped. I guess it would work if they were all multiple choice. Each choice could have its clue listed after it, but riddles are almost never multiple choice.
– JLee
Commented Aug 9, 2022 at 17:35
• So basically the book just supplies a list of (references to) hints that you can look up one by one. Commented Aug 9, 2022 at 18:03
• @JaapScherphuis basically, no, a chain of hints, not a list. A sequence so that you can't go directly to the answer. It's a childen's book, so finding the answer could be a game too. Commented Aug 9, 2022 at 18:17
• @Sandra. Each link in the chain is a partial answer without immediately revealing the whole answer, which is what OP is asking how to do: not to reveal the answer. This solution lets the solver have another attempt. In effect, they are like saying "warm ... warmer ... hot ... answer." But they are not clues: each puzzle stands by itself, and they don't "interact" with the puzzle. It is (supposed to be) quite simple. Commented Aug 12, 2022 at 13:20

You could use a table like this:

   ABCDEFGHIJKLMNOPQRSTUVWXYZ

A abcdefghijklmnopqrstuvwxyz
B bcdefghijklmnopqrstuvwxyza
C cdefghijklmnopqrstuvwxyzab
D defghijklmnopqrstuvwxyzabc
E efghijklmnopqrstuvwxyzabcd
F fghijklmnopqrstuvwxyzabcde
G ghijklmnopqrstuvwxyzabcdef
H hijklmnopqrstuvwxyzabcdefg
I ijklmnopqrstuvwxyzabcdefgh
J jklmnopqrstuvwxyzabcdefghi
K klmnopqrstuvwxyzabcdefghij
L lmnopqrstuvwxyzabcdefghijk
M mnopqrstuvwxyzabcdefghijkl
N nopqrstuvwxyzabcdefghijklm
O opqrstuvwxyzabcdefghijklmn
P pqrstuvwxyzabcdefghijklmno
Q qrstuvwxyzabcdefghijklmnop
R rstuvwxyzabcdefghijklmnopq
S stuvwxyzabcdefghijklmnopqr
T tuvwxyzabcdefghijklmnopqrs
U uvwxyzabcdefghijklmnopqrst
V vwxyzabcdefghijklmnopqrstu
W wxyzabcdefghijklmnopqrstuv
X xyzabcdefghijklmnopqrstuvw
Y yzabcdefghijklmnopqrstuvwx
Z zabcdefghijklmnopqrstuvwxy


The first two letters of the answer can then be used to find a row and column, resulting in a code letter to verify the answer. The same can then be done or the third and fourth letters of the answer. The question could have the verification code nq, and if you thought the answer was NAME, you would look up NxA to give n, MxE to give q and know that you were probably correct.

Every question should of course have the same number of verification letters so you don't get a clue to the length of the answer, so using just 2 verification letters to match the first four letters of the answer seems reasonable. If there are shorter answers, you may need to add an extra rule like padding it with x's to make it four letters.

Note that the table is symmetric, so it doesn't matter which letter you use for the column and which for the row. However, a smart kid could look at the table, see the pattern and use it to get a clue about the answer, so it would probably be better to randomise the table like this:

   ABCDEFGHIJKLMNOPQRSTUVWXYZ

A wgieodlrqbhufxzaspymtvjcnk
B gqsoynvbalrephjkcziwdftmxu
C isuqapxdcntgrjlmebkyfhvozw
D eoqmwltzyjpcnfhiaxgubdrkvs
E oyawgvdjitzmxprskhqelnbufc
F dnplvksyxiobmeghzwftacqjur
G lvxtdsagfqwjumophenbikyrcz
H rbdzjygmlwcpasuvnkthoqexif
I qacyixflkvbozrtumjsgnpdwhe
J blnjtiqwvgmzkcefxudryaohsp
K hrtpzowcbmsfqikldajxegunyv
L uegcmbjpozfsdvxyqnwkrthali
M fprnxmuazkqdogijbyhvceslwt
N xhjfpemsrcivgyabtqznuwkdol
O zjlhrgoutekxiacdvsbpwymfqn
P akmishpvuflyjbdewtcqxzngro
Q sceakzhnmxdqbtvwoluiprfyjg
R pzbxhwekjuanyqstlirfmocvgd
S yikgqfntsdjwhzbcuraovxlepm
T mwyuetbhgrxkvnpqifocjlzsda
U tdfblaionyercuwxpmvjqsgzkh
V vfhdnckqpagtewyzroxlsuibmj
W jtvrbqyedouhskmnfclzgiwpax
X cmokujrxwhnaldfgyveszbpitq
Y nxzvfucihsylwoqrjgpdkmateb
Z kuwscrzfepvitlnogdmahjxqby


I generated this table by putting the 26 letters of the alphabet in a random order, putting those at the top and along the left of the original table, and then sorting the rows and columns in alphabetical order. This table is still symmetric, but much harder to get a pattern from.

• Isn't this basically "generating a Hash" that the OP disallows? Commented Aug 9, 2022 at 6:32
• @WhatsUp I suppose it is, but at least it doesn't involve anything numeric which is how I interpreted the no hash requirement. Commented Aug 9, 2022 at 6:39
• Well, possibly that's what the OP means. And you could iterate the process to get a "checksum" of the whole answer. Although it may take some time for long answers, it can tell difference between words with the same prefix, e.g. BOOKSHELF vs BOOKSHOP. Commented Aug 9, 2022 at 6:49

For another grid based approach the answer could be hidden in a small grid like this:

If they have the right answer they should be able to find it in the grid:

Here are some options (roughly in order of my personal preference):

• have a brilliant solution that must obviously be correct. Doing this consistently makes the solver expect it, and they will start to reject imperfect answers on their own.
• use puzzles where you can work backwards from the solution to verify it (a la math puzzles)
• make riddles overly specific by adding "unnecessary" clues (like how an includes possibly overlapping clues for parts of the solution word, and a final clue that covers the whole word, overlapping with all of them. Sometimes there's even with a final, possibly obscure clue in the title)
• use a checksum of some sort
• colour by numbers: colouring regions that contain a letter / digit in the solution reveals a picture
• word search: all the solutions, along with several red herrings, can be found in a grid, maze, graph, or in some another similar construct (this is especially suitable, if the solutions are multi-digit numbers)
• Hidden in plain sight: have the solutions appear (in some form) as an element of a picture.
• ...
• Sell another book which has the answers, so a parent can check the answers.

I'll give you a frame challenge. Just because you don't like it that readers see the answer when checking them doesn't mean that the readers don't like it. If readers don't want to know there is a pretty easy solution for them: To ask another person to check their answers. So I would suggest to simply have solution pages in the back, and maybe in an introduction tell the reader that it is maybe more fun to them if they let other people check their answers, so they are at least aware of that possibility.

You could include some kind of decoding device with the book.

To test the answer, the person encodes their answer and then puts it in the decoding device.

For example, the encoding device is a card with the letters of the alphabet. The user cuts holes (e.g. using a hole-punch) on the letters in the answer. The decoding device is a series of spring-mounted pins. If the pins go through all the correct holes, then a mechanism indicates a correct answer. Alternatively, it could use light and photosensors.

Alternatively, the device could be a simple optical decoding device (e.g. an array of colour transparent areas). The encoding device is a grid which the user colours in the answer as pixels of each letter. When the transparent colour areas align with the correctly colour pixels in the grid, a message appears indicating that it is the correct answer.

Personally when designing puzzles for children I try to ensure that a correct solution can be verified just by looking at it. For some very simplified examples, a Tangram puzzle or a Rubik's cube is solved iff it looks solved, a search puzzle like a word search lets you literally find the solution, and a connect-the-dots puzzle will show you the answer if you perform it correctly.

Alternatively, for riddles with word answers, an answer word combined from the solutions of several riddles (take the fifth letter of solution 3, then the third letter of solution 2, etc.) will let puzzlers know to a reasonable degree that they did everything right if the answer word is spelled correctly, without spoiling too much of the individual solutions if the players deduce the missing letters of the answer word.

## Two-fold solution

### You're concerned that when the reader looks for the solution they will see other solutions.

The easy answer would be just put one answer per page, but that would make the book absurdly long. So instead, don't put the solutions in order, or with a key that they could recall back to the question.

In other words, Don't label the answer for question 50, with 50. Label it with "Apple", or "Purple" or "Rhino". That way, if/when they see other answers there is no way to say, "The answer to question 50 is 'A clock'." It's, "The answer to 'Beetle' is 'A clock'. But I have no idea when I'll see question 'Beetle'."

The code words for answers are in alphabetical order so they are easy to find, but the order in which they match questions is completely random: 1 is 'Dog', 2 is 'Orange', 3 is 'Banana', etc. You should never have the the answer to any of the previous 5 or next 5 answers on the same page.

### Hide the clues in plain sight

Way back when, Infocom (a computer game company) released hint books called InvisiClues. They were meant to help the player solve puzzles by using a special pen to expose the invisible ink to give more and more detailed clues until finally revealing a complete solution. The riddle books could have something similar in that a single page would hold the riddle, then below it would be checks to see if they got the right answer; "It's a five letter word", "It starts with a C", "You probably have seen a few of them today", "The answer is, a Clock."

If you'd prefer a non-destructive method (using the pen, once revealed, you can't re-hide a clue), you can use cellophane filters. Also long ago, there would be contests where the "prize" was hidden in a mashup of multi-colored dots. Looking at it, you could not read what the prize was. You would need to go to a store's kiosk and they would have a filter setup so it would alter the color you perceived for the dots and could read what you won.

The affect is called anaglyph.

You could do something similar for the answers where the reader could expose either a clue, or part of an answer. I'm sure with technology you could even create answers that show different words with different color filters; a red filter shows a clue, a blue filter shows a different clue, but when you use a red and blue at the same time it shows the answer. Similar to National Treasure.

If the publisher allows, insert a solution page and a special page that is an overlay for the solution page. The overlay page covers the solution page and has holes cut out. It acts as a mask.

The holes allow to see the first and/or last letter of the solution, so you can check and get a serious hint without seeing the current or other solutions.

The overlay page can be turned, in full or whatever is possible partially by having cuts. Depending on the design, there could be only very few spoilers.

Put anagrams of hints to the solution on the “Answers” page, but it is upside down. The first letters of the first n solution hints (for which n=number of letters in your website) combined with .book or something. The last letters of the last n-2 solution hints. will be the solution index page. For example, say it is miscpractice.book. The child will count M,I,S,C… and so on. Then, assume that the solution index is at cpuzelindex.html. The child will count C,P,U,Z… and so on. Then, it will show the whole solution index.

But if you want the audience to be more younger, then the toddler would look at the book, see the website, and then there would be a link to the solution index. Your parent/guardian clicks on it, and voilà! There is the whole solution index, right in front of your device!

• It's not clear how to use this. Suppose I think the answer is "my name". How do I use your method to get a yes/no response as to whether this is correct? Commented Aug 21, 2022 at 0:41
• @RayButterworth Well, for example if it’s miscpractice.book, they will go to miscpractice.book/myname. If it shows correct, it’s the correct answer. Commented Oct 5, 2022 at 0:10
• But if it isn't the correct answer, does it show "no"? If not, what does it show? Whatever it shows, remember, it mustn't show the correct answer (read the Title of the question). Commented Oct 5, 2022 at 0:17
• @RayButterworth It shows “404”. Commented Oct 5, 2022 at 0:38