=====Walkthrough===== Following will be a walkthrough (the documentation in a form acceptable for submission, provided as an example of both the form I'd like to see submissions in, but also providing illumination in the process of solving a letter division puzzle) of the following puzzle: FJV +---------- YTQZQC | JTFTZFVVC -CVJQFTT ======= CTZCJYV -TYQQJZJ ======= YZCQJCC -JJFQVTY ======= JJVYQF base: 8 letters: CFJQTVYZ difficulty: easy The intent of the documentation (and therefore the project you are performing) is NOT merely to SOLVE the problem, but to document the step-by-step process of solving the problem. That is demonstrated here. As this is a puzzle encoded in a base OTHER THAN 10, a few considerations have to be kept in mind. First, the available counting digits are ONLY 0, 1, 2, 3, 4, 5, 6, and 7. 8 and 9 do NOT exist in base 8. Similarly, 7+1 = 10. Because 7 is the last counting digit available, when we exhaust the digits, we cycle to 0 and carry 1. However, 10 base 8 should be pronounced and thought of as "one zero base 8", and NOT "ten". Ten is a decimal (base 10) construct, and 10 base 10 does NOT equal 10 base 8. Lacking 8 and 9 means any memorized mathematical facts, especially with respect to carried/multi-place values, are no longer valid. The same properties and concepts are there, but the results will be different. ====Getting underway==== The beautiful thing about puzzles of different bases, is that if you stick to a purely logical/relational approach, NOTHING changes. So we will endeavour to solve this puzzle in that fashion. As is a common starting strategy, we look for possible clues and connections that we can later build upon. I find I like to start with the left-most subtractions, as this not only can reveal some initial range comparisons, for example, looking top through bottom: C << J T << C J << Y But we can also see that J-C=0, C-T=0, and Y-J=0. Therefore, for EACH of these, they are being "taken from" by the equation immediately to their right, AND that each of these values is but one value away from the other: C < J T < C J < Y And due to the repetition of letters among these three relations, we can join them together: T < C < J < Y Already that means we can eliminate some possibilities for each of these: * T can NOT be 7, 6, or 5 (since there are 3 values greater than it, and in base 8, 7 is the largest single digit value). * C can NOT be 7 or 6, nor can it be 0. * J can NOT be 7, nor can it be 0, or 1. * Y can NOT be 0, 1, or 2. Updating our chart: C = { 1, 2, 3, 4, 5 } F = { 0, 1, 2, 3, 4, 5, 6, 7 } J = { 2, 3, 4, 5, 6 } Q = { 0, 1, 2, 3, 4, 5, 6, 7 } T = { 0, 1, 2, 3, 4 } V = { 0, 1, 2, 3, 4, 5, 6, 7 } Y = { 3, 4, 5, 6, 7 } Z = { 0, 1, 2, 3, 4, 5, 6, 7 } Following up on that update, we can make some additional relational determinations (looking at the subtractions immediately to the right of each of those left-most subtractions on each line): * T << V (because it has to borrow) * T << Y (because it has to borrow, and we already have this one, if you look above) * Z << J (because it has to borrow) This allows us to further modify our relational chain, as follows: Z << T < C < J < Y << V Which further allows the whittling away of some values: * Z cannot be 7, 6, 5, 4, or 3 * the lower bounds of T, C, J, and Y is bumped up by one * V cannot be 0, 1, 2, 3, or 4 * the upper bounds of T, C, J, and Y is dropped by one Updating our chart with this new information: C = { 2, 3, 4 } F = { 0, 1, 2, 3, 4, 5, 6, 7 } J = { 3, 4, 5 } Q = { 0, 1, 2, 3, 4, 5, 6, 7 } T = { 1, 2, 3 } V = { 5, 6, 7 } Y = { 4, 5, 6 } Z = { 0, 1, 2 } Already, we have nicely whittled down all but F and Q, and we know there is a tight relationship between at least four of the whittled-down values in this puzzle. Speaking of that: since T, C, J, and Y are but one apart from each other, we can actually make some mild eliminations: * if T is 3, that means the next 3 values are 4, 5, and 6. * if T is 1, its next 3 values of 2, 3, and 4. Notice how in both the largest and smallest scenario for T (the edges of consideraton), 4 is a common factor? That means, no matter what, all the other values outside of this relational chain can NOT be 4, so that too can be eliminated, which basically only impacts F and Q at this point: C = { 2, 3, 4 } F = { 0, 1, 2, 3 5, 6, 7 } J = { 3, 4, 5 } Q = { 0, 1, 2, 3 5, 6, 7 } T = { 1, 2, 3 } V = { 5, 6, 7 } Y = { 4, 5, 6 } Z = { 0, 1, 2 } ====Finding Q (our zero value)==== Looking now at the bottom right stanza of subtractions, our existing known information greatly comes in handy: * For C-Y=F, C is less than Y, so it borrows. * For C-T=Q, C is greater than T (by 1), so no borrow. * C-1 = T, so the result is 0. * Q is 0! * For J-V=Y, we know Y is (one) greater than J, and when you think about the nature of subtractions in a long division, we cannot subtract a smaller number from a larger and get a result that's larger, so J << V. Looking back, we had already determined that V was larger than T, and since J is in that tight coupling, it is also less than V. Our relational chains: Q << Z << T < C < J < Y << V This causes ALL lower bounds to be bumped up by one: C = { 3, 4 } F = { 1, 2, 3 5, 6, 7 } J = { 4, 5 } Q = { 0 } T = { 2, 3 } V = { 6, 7 } Y = { 5, 6 } Z = { 1, 2 } Applying a similar optimization as above, knowing that T, C, J, and Y are all right next to each other, with their reduced ranges we can employ some similar eliminations against F: * if T is 2, then 3, 4, and 5 will be utilized. * if T is 3, then 4, 5, ani 6 will be utilized. This means, F can NOT be 4 or 5. We already eliminated 4 from this same strategy earlier, and we can now add 5 to that mix. Additionally, we can also eliminate 3 for F, as it will also be utilized in some form (either by T, or by C). Our updated chart: And we can start populating the key: C = { 3, 4 } F = { 1, 2 6, 7 } J = { 4, 5 } Q = { 0 } T = { 2, 3 } V = { 6, 7 } Y = { 5, 6 } Z = { 1, 2 } F is going to be either a very small value, or a very large value. If desired, we can start populating the key: 0 Q 1 2 3 4 5 6 7 ====Finding V (our 7 value)==== Continuing along with our bottom row subtractions, we arrive at Q-Q=V. Since we know Q is 0, and 0-0=0, V cannot be zero. So what might be going on here? Well, we know from above that in the case of J-V=Y, J is less than V, so a borrow is generated, taking a value from Q, which then causes it to need to borrow. Just as in base 10 with subtracting by 9, that same idea is in play here: Q+10-1 0+10-1 7 - Q - 0 - 0 ====== --> ====== --> ====== V V 7 Remember, in base 8, 10-1 is the maximum counting digit, which is 7. So, we have another value captured, updating our key: 0 Q 1 2 3 4 5 6 7 V Updating our chart: C = { 3, 4 } F = { 1, 2 6 } J = { 4, 5 } Q = { 0 } T = { 2, 3 } V = { 7 } Y = { 5, 6 } Z = { 1, 2 } Moving along to the next subtraction, C-F=J, do we have an opportunity to clarify the value of F any? Let's see: * For C-F=J, we know that C << J (indeed, C < J, being just one away), so this indicates C << F as well (it BORROWS). * We also know we're being TAKEN from: (C+10-1)-F=J This actually resolves F in its entirety; since C << F, F cannot be less than C. Since C's lowest value is 3, F can NOT be 1 or 2. This leaves but one value remaining, 6. As you can see, a cascade effect now comes into play, revealing Y, which reveals J, then C, then T, due to our knowledge that they are only one value apart: C = { 3 } F = { 6 } J = { 4 } Q = { 0 } T = { 2 } V = { 7 } Y = { 5 } Z = { 1 } And through process of elimination, Z is revealed to be one. Our relational chain: Q < Z < T < C < J < Y < F < V And our completed key: 0 Q 1 Z 2 T 3 C 4 J 5 Y 6 F 7 V Puzzle solved!