Plow-Pair

Futoshiki is fun. It’s a number-puzzle where you use logic to re-create a 5×5 square in which every row and column contains the numbers 1 to 5. At first, most or all of the numbers are missing. You work out what those missing numbers are by using the inequality signs scattered over the futoshiki. Here’s an example:


There are no numbers at all in the futoshiki, so where do you start? Well, first let’s establish some vocabulary for discussing futoshiki. If we label squares by row and column, you can say that square (4,5), just above the lower righthand corner, dominates square (4,4), because (4,5) is on the dominant side of the inequality sign between the two squares (futōshiki, 不等式, means “inequality” in Japanese). Whatever individual number is in (4,5) must be greater than whatever individual number is in (4,4).

Conversely, you can say that (4,4) is dominated by (4,5). But that’s not the end of it: (4,4) is dominated by (4,5) but dominates (3,4), which in its turn dominates (2,4). In other words, there’s a chain of dominations. In this case, it’s a 4-chain, that is, it’s four squares long: (4,5) > (4,4) > (3,4) > (2,4), where (4,5) is the start-square and (2,4) is the end-square. Now, because 5 is the highest number in a 5×5 futoshiki, it can’t be in any square dominated by another square. And because 1 is always the lowest number in a futoshiki, it can’t be in any square that dominates another square. By extending that logic, you’ll see that 4 can’t be in the end-square of a 3-chain, (a,b) > (c,d) > (e,f), and 2 can’t be in the start-square of a 3-chain. Nor can 3 be in the start-square or end-square of a 4-chain.

Using all that logic, you can start excluding numbers from certain squares and working out sets of possible numbers in each square, like this:

[whoops: square contains errors that need to be corrected!]


Now look at column 1 and at row 4:


In column 1, the number 5 appears only once among the possibles, in (1,1); in row 4, the number 1 appears only once among the possibles, in (4,1). And if a number appears in only one square of a row or column, you know that it must be the number filling that particular square. So 5 must be the number filling (1,1) and 1 must be the number filling (4,1). And once a square is filled by a particular number, you can remove it from the sets of possibles filling the other squares of the row and column. I call this sweeping the row and column. Voilà:


Now that the 5 in (1,1) and the 1 in (4,1) have swept all other occurrences of 5 and 1 from the sets of possibles in column 1 and row 4, you can apply the only-once rule again. 2 appears only once in row 4 and 5 appears only once in column 4:


So you’ve got two more filled squares:


Now you can apply a more complex piece of logic. Look at the sets of possibles in row 3 and you’ll see that the set {2,3} occurs twice, in square (3,1) and square (3,4):


What does this double-occurrence of {2,3} mean? It means that if 2 is in fact the number filling (3,1), then 3 must be the number filling (3,4). And vice versa. Therefore 2 and 3 can occur only in those two squares and the two numbers can be excluded or swept from the sets of possibles filling the other squares in that row. You could call {2,3} a plow-pair or plow-pare, because it’s a pair that pares 2 and 3 from the other squares. So we have a pair-rule: if the same pair of possibles, {a,b}, appears in two squares in a row or column, then both a and b can be swept from the three other squares in that row or column. Using {2,3}, let’s apply the pair-rule to the futoshiki and run the plow-pare over row 3:


Now the pair-rule applies again, because {4,5} occurs twice in column 5:


And once the plow-pare has swept 4 and 5 from the other three squares in column 5, you’ll see that 3 is the only number left in square (1,5). Therefore 3 must fill (1,5):


Now 3 can be swept from the rest of row 1 and column 5:


And the pair-rule applies again, because {1,2} occurs twice in row 2:


Once 2 is swept from {2,3,4} in square (2,1) to leave {3,4}, 3 must be excluded from square (2,2), because (2,2) dominates (2,1) and 3 can’t be greater than itself. And once 3 is excluded from (2,2), it occurs only once in column 2:


Therefore 3 must fill (5,2), which dominates (5,1) and its set of possibles {2,3,4}. Because 3 can’t be greater than 4 or itself, 2 is the only possible filler for (5,1) and only 3 is left when 2 is swept from (3,1):


And here are the remaining steps in completing the futoshiki:

The complete futoshiki


Animation of the steps required to complete the futoshiki


Afterword

The pair-rule can be extended to a triplet-rule and quadruplet-rule:

• If three numbers {a,b,c} can occur in only three squares of a row or column, then a, b and c can be swept from the two remaining squares of the row or column.
• If four numbers {a,b,c,d} can occur in only four squares of a row or column, then a, b, c and d can be swept from the one remaining square of the row or column (therefore the number e must fill that remaining square).

But you won’t be able to apply the triplet-rule and quadruplet-rule as often as the pair-rule. Note also that the triplet-rule doesn’t work when {a,b,c} can occur in only two squares of a row or column. An n-rule applies only when the same n numbers of a set occur in n squares of a row or column. And n must be less than 5.


Post-Performative Post-Scriptum

Domination. Exclusion. Inequality. — an earlier look at futoshiki

Delta Skelta

“When I get to the bottom I go back to the top of the slide,
Where I stop and I turn and I go for a ride
Till I get to the bottom and I see you again.” — The Beatles, “Helter Skelter” (1968)


First stage of fractal #1











Animated fractal #1


First stage of fractal #2













Animated fractal #2

Middlemath

Suppose you start at the middle of a triangle, then map all possible ways you can jump eight times half-way towards one or another of the vertices of the triangle. At the end of the eight jumps, you mark your final position with a dot. You could jump eight times towards the same vertex, or once towards vertex 1, once towards vertex 2, and once again towards vertex 1. And so on. If you do this, the record of your jumps looks something like this:


The shape is a fractal called the Sierpiński triangle. But if you try the same thing with a square — map all possible jumping-routes you can follow towards one or another of the four vertices — you simply fill the interior of the square. There’s no interesting fractal:


So you need a plan with a ban. Try mapping all possible routes where you can’t jump towards the same vertex twice in a row. And you get this:

Ban on jumping towards same vertex twice in a row, v(t) ≠ v(t-1)


If you call the current vertex v(t) and the previous vertex v(t-1), the ban says that v(t) ≠ v(t-1). Now suppose you can’t jump towards the vertex one place clockwise of the previous vertex. Now the ban is v(t)-1 ≠ v(t-1) or v(t) ≠ v(t-1)+1 and this fractal appears:

v(t) ≠ v(t-1)+1


And here’s a ban on jumping towards the vertex two places clockwise (or counterclockwise) of the vertex you’ve just jumped towards:

v(t) ≠ v(t-1)+2


And finally the ban on jumping towards the vertex three places clockwise (or one place counterclockwise) of the vertex you’ve just jumped towards:

v(t) ≠ v(t-1)+3 (a mirror-image of v(t) ≠ v(t-1)+1, as above)


Now suppose you introduce a new point to jump towards at the middle of the square. You can create more fractals, but you have to adjust the kind of ban you use. The central point can’t be included in the ban or the fractal will be asymmetrical. So you continue taking account of the vertices, but if the previous jump was towards the middle, you ignore that jump. At least, that’s what I intended, but I wonder whether my program works right. Anyway, here are some of the fractals that it produces:

v(t) ≠ v(t-1) with central point (wcp)


v(t) ≠ v(t-1)+1, wcp


v(t) ≠ v(t-1)+2, wcp


And here are some bans taking account of both the previous vertex and the pre-previous vertex:

v(t) ≠ v(t-1) & v(t) ≠ v(t-2), wcp


v(t) ≠ v(t-1) & v(t-2)+1, wcp


v(t) ≠ v(t-1)+2 & v(t-2), wcp


v(t) ≠ v(t-1) & v(t-2)+1, wcp


v(t) ≠ v(t-1)+1 & v(t-2)+1, wcp


v(t) ≠ v(t-1)+2 & v(t-2)+1, wcp


v(t) ≠ v(t-1)+3 & v(t-2)+1, wcp


v(t) ≠ v(t-1) & v(t-2)+2, wcp


v(t) ≠ v(t-1)+1 & v(t-2)+2, wcp


v(t) ≠ v(t-1)+2 & v(t-2)+2, wcp


Now look at pentagons. They behave more like triangles than squares when you map all possible jumping-routes towards one or another of the five vertices. That is, a fractal appears:

All possible jumping-routes towards the vertices of a pentagon


But the pentagonal-jump fractals get more interesting when you introduce jump-bans:

v(t) ≠ v(t-1)


v(t) ≠ v(t-1)+1


v(t) ≠ v(t-1)+2


v(t) ≠ v(t-1) & v(t-2)


v(t) ≠ v(t-1)+2 & v(t-2)


v(t) ≠ v(t-1)+1 & v(t-2)+1


v(t) ≠ v(t-1)+3 & v(t-2)+1


v(t) ≠ v(t-1)+1 & v(t-2)+2


v(t) ≠ v(t-1)+2 & v(t-2)+2


v(t) ≠ v(t-1)+3 & v(t-2)+2


Finally, here are some pentagonal-jump fractals using a central point:








Post-Performative Post-Scriptum

I’m not sure if I’ve got the order of some bans right above. For example, should v(t) ≠ v(t-1)+1 & v(t-2)+2 really be v(t) ≠ v(t-1)+2 & v(t-2)+1? I don’t know and I’m not going to check. But the idea of jumping-point bans is there and that’s all you need if you want to experiment with these fractal methods for yourself.

The Viscount of Bi-Count

Today is 22/2/22 and, as I hoped on 2/2/22, I can say more about an interesting little palindromic-pattern problem. For each set of integers <= 1[0]1 in base 10, I looked at the count of palindromes exactly divisible by 1, 2, 3, 4, 5, 6, 7, 8 and 9. For example, 2, 4, 6 and 8 are the 4 palindromes divisible by 2 that are less than 11, so countdiv(2) = 4 for pal <= 11; 3, 6 and 9 are the 3 palindromes divisible by 3, so countdiv(3) = 3; and so on. Here are the counts — and some interesting patterns — for palindromes <= (powers-of-10 + 1) up to 1,000,000,000,001:

count for palindromes <= 101 (prime)

countdiv(1) = 19
countdiv(2) = 8
countdiv(3) = 6
countdiv(4) = 4
countdiv(5) = 2
countdiv(6) = 2
countdiv(7) = 2
countdiv(8) = 2
countdiv(9) = 2


count for palindromes <= 1001 = 7 * 11 * 13

countdiv(1) = 109
countdiv(2) = 48
countdiv(3) = 36
countdiv(4) = 24
countdiv(5) = 12
countdiv(6) = 15
countdiv(7) = 15
countdiv(8) = 12
countdiv(9) = 12


count for palindromes <= 10001 = 73 * 137

countdiv(1) = 199
countdiv(2) = 88
countdiv(3) = 66
countdiv(4) = 44
countdiv(5) = 22
countdiv(6) = 28
countdiv(7) = 32
countdiv(8) = 22
countdiv(9) = 22


count for palindromes <= 100001 = 11 * 9091

countdiv(1) = 1099
countdiv(2) = 488
countdiv(3) = 366
countdiv(4) = 244
countdiv(5) = 122
countdiv(6) = 161
countdiv(7) = 163
countdiv(8) = 122
countdiv(9) = 122


count for palindromes <= 1000001 = 101 * 9901

countdiv(1) = 1999
countdiv(2) = 888
countdiv(3) = 666
countdiv(4) = 444
countdiv(5) = 222
countdiv(6) = 294
countdiv(7) = 303
countdiv(8) = 222
countdiv(9) = 222


count for palindromes <= 10000001 = 11 * 909091

countdiv(1) = 10999
countdiv(2) = 4888
countdiv(3) = 3666
countdiv(4) = 2444
countdiv(5) = 1222
countdiv(6) = 1627
countdiv(7) = 1588
countdiv(8) = 1222
countdiv(9) = 1222


count for palindromes <= 100000001 = 17 * 5882353

countdiv(1) = 19999
countdiv(2) = 8888
countdiv(3) = 6666
countdiv(4) = 4444
countdiv(5) = 2222
countdiv(6) = 2960
countdiv(7) = 2878
countdiv(8) = 2222
countdiv(9) = 2222


count for palindromes <= 1000000001 = 7 * 11 * 13 * 19 * 52579

countdiv(1) = 109999
countdiv(2) = 48888
countdiv(3) = 36666
countdiv(4) = 24444
countdiv(5) = 12222
countdiv(6) = 16293
countdiv(7) = 15734
countdiv(8) = 12222
countdiv(9) = 12222


count for palindromes <= 10000000001 = 101 * 3541 * 27961

countdiv(1) = 199999
countdiv(2) = 88888
countdiv(3) = 66666
countdiv(4) = 44444
countdiv(5) = 22222
countdiv(6) = 29626
countdiv(7) = 28783
countdiv(8) = 22222
countdiv(9) = 22222


count for palindromes <= 100000000001 = 11^2 * 23 * 4093 * 8779

countdiv(1) = 1099999
countdiv(2) = 488888
countdiv(3) = 366666
countdiv(4) = 244444
countdiv(5) = 122222
countdiv(6) = 162959
countdiv(7) = 157361
countdiv(8) = 122222
countdiv(9) = 122222


count for palindromes <= 1000000000001 = 73 * 137 * 99990001

countdiv(1) = 1999999
countdiv(2) = 888888
countdiv(3) = 666666
countdiv(4) = 444444
countdiv(5) = 222222
countdiv(6) = 296292
countdiv(7) = 286461
countdiv(8) = 222222
countdiv(9) = 222222


As you can see, the counts for some numbers alternate between rep-digits (all digits the same) and nearly rep-digits. For example, the counts for palindromes exactly divisible by 5, 8 and 9 are alternately all 2s or 1 followed by all 2s. And you get counts of 2, 12, 22, 122, 222, 1222, 2222 in other even bases greater than base 2 when the counts are represented in that base. Here’s base 8:

count for palindromes <= 101 in b8 = 65 in b10 = 5 * 13

countdiv(1) = 17 in b8 (15 in b10)
countdiv(2) = 6
countdiv(3) = 11 in b8 (9)
countdiv(4) = 2
countdiv(5) = 3
countdiv(6) = 4
countdiv(7) = 2


count for palindromes <= 1001 in b8 = 513 in b10 = 3^3 * 19

countdiv(1) = 107 in b8 (71 in b10)
countdiv(2) = 36 in b8 (30)
countdiv(3) = 34 in b8 (28)
countdiv(4) = 12 in b8 (10)
countdiv(5) = 20 in b8 (16)
countdiv(6) = 14 in b8 (12)
countdiv(7) = 12 in b8 (10)


count for palindromes <= 10001 in b8 = 4097 in b10 = 17 * 241

countdiv(1) = 177 in b8 (127 in b10)
countdiv(2) = 66 in b8 (54)
countdiv(3) = 123 in b8 (83)
countdiv(4) = 22 in b8 (18)
countdiv(5) = 34 in b8 (28)
countdiv(6) = 44 in b8 (36)
countdiv(7) = 22 in b8 (18)


count for palindromes <= 100001 in b8 = 32769 in b10 = 3^2 * 11 * 331

countdiv(1) = 1077 in b8 (575 in b10)
countdiv(2) = 366 in b8 (246)
countdiv(3) = 352 in b8 (234)
countdiv(4) = 122 in b8 (82)
countdiv(5) = 164 in b8 (116)
countdiv(6) = 144 in b8 (100)
countdiv(7) = 122 in b8 (82)


count for palindromes <= 1000001 in b8 = 262145 in b10 = 5 * 13 * 37 * 109

countdiv(1) = 1777 in b8 (1023 in b10)
countdiv(2) = 666 in b8 (438)
countdiv(3) = 1251 in b8 (681)
countdiv(4) = 222 in b8 (146)
countdiv(5) = 316 in b8 (206)
countdiv(6) = 444 in b8 (292)
countdiv(7) = 222 in b8 (146)


count for palindromes <= 10000001 in b8 = 2097153 in b10 = 3^2 * 43 * 5419

countdiv(1) = 10777 in b8 (4607 in b10)
countdiv(2) = 3666 in b8 (1974)
countdiv(3) = 3524 in b8 (1876)
countdiv(4) = 1222 in b8 (658)
countdiv(5) = 1645 in b8 (933)
countdiv(6) = 1444 in b8 (804)
countdiv(7) = 1222 in b8 (658)


count for palindromes <= 100000001 in b8 = 16777217 in b10 = 97 * 257 * 673

countdiv(1) = 17777 in b8 (8191 in b10)
countdiv(2) = 6666 in b8 (3510)
countdiv(3) = 12523 in b8 (5459)
countdiv(4) = 2222 in b8 (1170)
countdiv(5) = 3164 in b8 (1652)
countdiv(6) = 4444 in b8 (2340)
countdiv(7) = 2222 in b8 (1170)


The counts for 4-palindromes and 7-palindromes in base 8 run: 1, 12, 22, 122, 222, 1222, 2222…, just like the counts for 5-palindromes, 8-palindromes and 9-palindromes in base 10. Here’s base 14:

count for palindromes <= 101 in b14 = 197 in b10 (prime)

countdiv(1) = 1D in b14 (27 in b10)
countdiv(2) = C in b14 (12)
countdiv(3) = 13 in b14 (17)
countdiv(4) = 6
countdiv(5) = 11 in b14 (15)
countdiv(6) = 8
countdiv(7) = 2
countdiv(8) = 2
countdiv(9) = 5
countdiv(A) = 7
countdiv(B) = 2
countdiv(C) = 4
countdiv(D) = 2


count for palindromes <= 1001 in b14 = 2745 in b10 = 3^2 * 5 * 61

countdiv(1) = 10D in b14 (209 in b10)
countdiv(2) = 6C in b14 (96)
countdiv(3) = 58 in b14 (78)
countdiv(4) = 36 in b14 (48)
countdiv(5) = 3A in b14 (52)
countdiv(6) = 28 in b14 (36)
countdiv(7) = 12 in b14 (16)
countdiv(8) = 19 in b14 (23)
countdiv(9) = 1C in b14 (26)
countdiv(A) = 19 in b14 (23)
countdiv(B) = 14 in b14 (18)
countdiv(C) = 14 in b14 (18)
countdiv(D) = 12 in b14 (16)


count for palindromes <= 10001 in b14 = 38417 in b10 = 41 * 937

countdiv(1) = 1DD in b14 (391 in b10)
countdiv(2) = CC in b14 (180)
countdiv(3) = 147 in b14 (259)
countdiv(4) = 66 in b14 (90)
countdiv(5) = 129 in b14 (233)
countdiv(6) = 88 in b14 (120)
countdiv(7) = 22 in b14 (30)
countdiv(8) = 31 in b14 (43)
countdiv(9) = 66 in b14 (90)
countdiv(A) = 79 in b14 (107)
countdiv(B) = 26 in b14 (34)
countdiv(C) = 44 in b14 (60)
countdiv(D) = 22 in b14 (30)


count for palindromes <= 100001 in b14 = 537825 in b10 = 3 * 5^2 * 71 * 101

countdiv(1) = 10DD in b14 (2939 in b10)
countdiv(2) = 6CC in b14 (1356)
countdiv(3) = 594 in b14 (1110)
countdiv(4) = 366 in b14 (678)
countdiv(5) = 3B2 in b14 (744)
countdiv(6) = 288 in b14 (512)
countdiv(7) = 122 in b14 (226)
countdiv(8) = 1A1 in b14 (337)
countdiv(9) = 1CA in b14 (374)
countdiv(A) = 1A7 in b14 (343)
countdiv(B) = 150 in b14 (266)
countdiv(C) = 144 in b14 (256)
countdiv(D) = 122 in b14 (226)


count for palindromes <= 1000001 in b14 = 7529537 in b10 = 37 * 197 * 1033

countdiv(1) = 1DDD in b14 (5487 in b10)
countdiv(2) = CCC in b14 (2532)
countdiv(3) = 1493 in b14 (3657)
countdiv(4) = 666 in b14 (1266)
countdiv(5) = 12B1 in b14 (3291)
countdiv(6) = 888 in b14 (1688)
countdiv(7) = 222 in b14 (422)
countdiv(8) = 331 in b14 (631)
countdiv(9) = 63A in b14 (1228)
countdiv(A) = 7A7 in b14 (1519)
countdiv(B) = 278 in b14 (498)
countdiv(C) = 444 in b14 (844)
countdiv(D) = 222 in b14 (422)


count for palindromes <= 10000001 in b14 = 105413505 in b10 = 3 * 5 * 7027567

countdiv(1) = 10DDD in b14 (41159 in b10)
countdiv(2) = 6CCC in b14 (18996)
countdiv(3) = 5948 in b14 (15548)
countdiv(4) = 3666 in b14 (9498)
countdiv(5) = 3B2A in b14 (10426)
countdiv(6) = 2888 in b14 (7176)
countdiv(7) = 1222 in b14 (3166)
countdiv(8) = 1A31 in b14 (4747)
countdiv(9) = 1C6D in b14 (5193)
countdiv(A) = 1A79 in b14 (4811)
countdiv(B) = 1513 in b14 (3741)
countdiv(C) = 1444 in b14 (3588)
countdiv(D) = 1222 in b14 (3166)


count for palindromes <= 100000001 in b14 = 1475789057 in b10 = 17 * 5393 * 16097

countdiv(1) = 1DDDD in b14 (76831 in b10)
countdiv(2) = CCCC in b14 (35460)
countdiv(3) = 14947 in b14 (51219)
countdiv(4) = 6666 in b14 (17730)
countdiv(5) = 12B29 in b14 (46097)
countdiv(6) = 8888 in b14 (23640)
countdiv(7) = 2222 in b14 (5910)
countdiv(8) = 3331 in b14 (8863)
countdiv(9) = 631D in b14 (17079)
countdiv(A) = 7A79 in b14 (21275)
countdiv(B) = 278B in b14 (6983)
countdiv(C) = 4444 in b14 (11820)
countdiv(D) = 2222 in b14 (5910)


Now 7-palindromes and D-palindromes (D = 13 in base 10) are following the [1]2222… pattern. What explains it? If you’re good at math, you won’t need telling. But I’m not good at maths, so I’m going to tell myself and other members of the not-good-at-math community what’s going on. Let’s go back to base 10 and the counts for 5-palindromes, that is, palindromes exactly divisible by 5. In base 10, the only integers exactly divisible by 5 have to end in either 5 or 0. But a palindrome can’t end in 0, because then the leading digit would have to be 0 too. Therefore only palindromes ending in 5 are exactly divisible by 5 in base 10. And if the palindromes end in 5, they have to start with 5 too.

Once we know that, we can easily calculate, for a given number of digits, how many 5-palindromes there are. Take 5-palindromes with three digits. If the three-digit 5-palindromes end and start with 5, we have to consider only the middle digit, which can obviously range from 0 to 9: 505, 515, 525, 535, 545, 555, 565, 575, 585 and 595. So there are 10 3-digit 5-palindromes. We add that count to the count for the single one-digit 5-palindrome, 5, and the single two-digit 5-palindrome, 55. So the cumulative count for 5-palindromes < 1001 is: 10 + 1 + 1 = 12.

Now look at four-digit 5-palindromes. They start and end with 5, therefore we have to consider only the middle two digits. And those middle digits have to be identical: 5005, 5115, 5225, 5335, 5445, 5555, 5665, 5775, 5885, 5995. So there are also 10 four-digit 5-palindromes and count of 5-palindromes < 10001 is: 10 + 10 + 1 + 1 = 22.

Now look at five-digit 5-palindromes. Again we have consider only the middle digits, because the first and fifth digits have to be 5. The second digit of a five-digit 5-palindrome has to be the same as the fourth digit: 50005, 51715, 52425, 53135, and so on. And the second and fourth digits can obviously range from 0 to 9. And so can the third and middle digit of the 5-palindromes. But the third digit doesn’t have to be the same as the second and fourth digits: 50005, 50105, 50205, and so on. Therefore the number of five-digit 5-palindromes is 10 * 10 = 100. And the count of 5-palindromes < 100001 is: 100 + 10 + 10 + 1 + 1 = 122.

Now look at six-digit 5-palindromes. The second digit of a six-digit 5-palindrome has to be same as the fifth digit and the third digit has to be the same as the fourth digit. So once you have the second and third digits, you automatically have the fourth and fifth digits: 500005, 523325, 587785, and so on. Clearly, the second and third digits range from 00 to 99 (i.e., 00, 01, 02 … 97, 98, 99), so there must be 100 six-digit 6-palindromes. And the count of 5-palindromes < 1000001 is: 100 + 100 + 10 + 10 + 1 + 1 = 222.

It should be clear, then, that the count of 5-palindromes for an odd number of digits, d, will be always the same as the count of 5-palindromes for the even number of digits d+1. There is 1 one-digit 5-palindrome, namely 5, and 1 two-digit 5-palindrome, namely 55. There are 10 three-digit 5-palindromes, 505 to 595, and 10 four-digit 5-palindromes, 5005 to 5995. Now, the count of 5-palindromes with an odd number of digits, d, will be equal to 10^(d\2), where d\2 = (d-1)/2. And the count for 5-palindromes with the even number of digits d+1 will be the same, 10^(d\2). Therefore the count for both sets of 5-palindromes, d-digit palindromes and (d+1)-digit palindromes, will be 2 * 10^(d\2). And that’s why the cumulative count of 5-palindromes looks the way it does in base 10: 1, 2, 12, 22, 122, 222, 1222, 2222, 12222, 22222…

The same reasoning applies in other even bases greater than base 2. When a palindrome divisible by a particular number has to start and end with the same digit, s, in base b, the middle digits will dictate a count of b^(d\2) for both d-digit s-palindromes and (d+1)-digit s-palindromes. And you’ll get the same cumulative count for s-palindromes in that base: 1, 2, 12, 22, 122, 222, 1222, 2222, 12222, 22222…

Some other patterns in the palindrome-counts can be explained by extending the reasoning given above. For example, if an s-palindrome can begin and end with two possible numbers, you’ll get cumulative counts of 2, 4, 24, 44, 244, 444, 2444, 4444, 24444, 44444 and so on. If the s-palindrome can end with three possible numbers, you’ll get cumulative counts of 3, 6, 36, 66, 366, 666, 3666, 6666, 36666, 66666 and so on.


Post-Performative Post-Scriptum

The discussion above is of very simple mathematics, but that’s the only kind I can cope with. All the same, I’m pleased that I managed to work out why the count of 5-palindromes behaves like that in base 10. So I’ve decided to award myself a title. Remember that the count for 5-palindromes of length d and d+1 is 2 * 10^(d\2), where d is an odd number. And you could say that 2 * 10^(d\2) is a bi-count of 10^(d\2). So I’m calling myself the Viscount of Bi-Count.

Domination. Exclusion. Inequality.

Sudoku has conquered the world, but I think futoshiki is more fun — more concentrated, more compact and quicker. When complete, a 5×5 futoshiki will be a Roman square in which every row and column contains the numbers 1 to 5, but no number is repeated in any row or column. You have to work out the missing numbers using logic and the “inequality” signs that show whether one square contains a number more than or less than a number in a neighboring square — futōshiki, 不等式, means “inequality” in Japanese (fu- is the negative prefix). Here’s an example of a futoshiki puzzle:

Futoshiki puzzle, with 4 in square (3,2) and 3 in square (1,1)


If you identify the squares by row and column, 4 is in (3,2) and 3 is in (1,1). And you can say, for example, that the empty square (3,4) dominates the empty square (3,3) or that (3,3) is dominated by (3,4). I’ll describe one route (not the best or most efficient) to completing the puzzle. Let’s start by considering the general rules that 1 cannot appear in any square that dominates another square and that 5 cannot appear in any square dominated by another square.

If you extend that logic, you’ll see that 4 cannot appear in any square that is at the end of what you might call a chain of dominations, where one square dominates a second square that in turn dominates a third square. Therefore, in the puzzle above, 4 cannot appear in squares (2,1) and (4,1) of column 1. And it can’t appear in square (3,1), because that would mean two 4s in the same row. This leaves one place for 4 to appear: square (5,1). And if 4 is there, 5 has to be in square (3,1):


Now look at row 3. Two of the remaining three empty squares are dominators: (3,4) dominates (3,2) and (3,5) dominates (2,5). 1 cannot appear in a dominating square, so 1 has to be in the dominated square (3,3):


The next step I’ll take is a bit more complicated. In row 2, the number 4 cannot be in (2,1) and (2,4). It can’t be in (2,1) because that would mean 4 was greater than itself. And it can’t be in (2,4), because (2,4) is dominated by (3,4) and (3,4) can’t contain 5, the only number that dominates 4. Therefore 4 must be in either (2,3) or (2,4). But so must 5. Therefore (2,3) contains either 4 or 5 and (2,4) contains either 4 or 5. That means that the numbers [1,2,3] must be in the other three squares of row 2. Now, 3 can’t be in square (2,1), because the chain of dominations is too long. And 3 can’t be in (2,5), because (2,5) is dominated by (3,5), which contains either 2 or 3. Therefore 3 must be in (2,2):


Now consider column 2. Square (4,2) cannot contain 1 or 5, because it’s both dominated and dominating. And if it can’t contain 1 or 5, there’s only one number it can contain: 2. And it immediately follows that (4,1) must contain 1, the only number less than 2. And if four squares of column 1 now contain the numbers [1,3,4,5], the remaining empty square (2,1) must contain 2:


Now consider row 2. Squares (2,3) and (2,4) contain either 4 or 5, therefore (2,5) must contain 1:


Now consider row 5. The number 1 is logically excluded from three squares: from (5,3), because there’s a 1 in (3,3); from (5,4), because (5,4) dominates (5,5); and from (5,5), because there’s a 1 in (2,5). Therefore 1 must be in (5,2). And if 1 is in (5,2), the number 5 must be in (1,2):


Now 1 pops up in row 1 because it can only be in (1,4):


And 5 pops up in row 4 because it can only be in (4,5):


Once 5 is in (4,5), the number 4 must be in (4,4) and the number 3 in (4,3):


The 4 of (4,4) immediately collapses the ambiguity of (2,4), which must contain 5. Therefore (2,3) contains 4:


Next, 5 pops up in (5,3):


And 3 must be in (5,4), dominating 2 in (5,5):


With 3 in (5,4) and 2 in (5,5), the ambiguity of (3,4) and (3,5) collapses:


And the square is completed like this:


Here’s an animated version of the steps to completion:

Futoshiki puzzle animated

To Wit: 2/2

Today is 2/2/22, so here’s a little problem about palindromes. For each set of integers <= 1[0…]1 in base 10, find the cumulative count of palindromes exactly divisible by 1, 2, 3, 4, 5, 6, 7, 8 and 9. For example, 2, 4, 6 and 8 are the 4 palindromes exactly divisible by 2 that are less than 11, so countdiv(2) = 4 for pal <= 11; 3, 6 and 9 are the 3 palindromes exactly divisible by 3, so countdiv(3) = 3; and so on:

count for palindromes <= 11 (prime)

countdiv(1) = 10
countdiv(2) = 4
countdiv(3) = 3
countdiv(4) = 2
countdiv(5) = 1
countdiv(6) = 1
countdiv(7) = 1
countdiv(8) = 1
countdiv(9) = 1


count for palindromes <= 101 (prime)

countdiv(1) = 19
countdiv(2) = 8
countdiv(3) = 6
countdiv(4) = 4
countdiv(5) = 2
countdiv(6) = 2
countdiv(7) = 2
countdiv(8) = 2
countdiv(9) = 2


count for palindromes <= 1001 = 7 * 11 * 13

countdiv(1) = 109
countdiv(2) = 48
countdiv(3) = 36
countdiv(4) = 24
countdiv(5) = 12
countdiv(6) = 15
countdiv(7) = 15
countdiv(8) = 12
countdiv(9) = 12


Some interesting patterns appear as the ceiling-palindromes reach 10001, 100001, 1000001… And one particular pattern doesn’t always disappear when you try the same problem in other bases. I hope to say more on 22/2/22.

La Formule de François

Here is a beautiful and astonishingly simple formula for π created by the French mathematician François Viète (1540-1603):

• 2 / π = √2/2 * √(2 + √2)/2 * √(2 + √(2 + √2))/2…

I can remember testing the formula on a scientific calculator that allowed simple programming. As I pressed the = key and the results began to home in on π, I felt as though I was watching a tall and elegant temple emerge through swirling mist.

Mötley Vüe

Here’s the Fibonacci sequence, where each term (after the first two) is created by adding the two previous numbers:


1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765...

In “Fib and Let Tri”, I described how my eye was caught by 55, which is a palindrome, reading the same backwards and forwards. “Were there any other Fibonacci palindromes?” I wondered. So I looked to see. Now my eye has been caught by 55 again, but for another reason. It should be easy to spot another interesting aspect to 55 when the Fibonacci numbers are set out like this:


fib(1) = 1
fib(2) = 1
fib(3) = 2
fib(4) = 3
fib(5) = 5
fib(6) = 8
fib(7) = 13
fib(8) = 21
fib(9) = 34
fib(10) = 55
fib(11) = 89
fib(12) = 144
fib(13) = 233
fib(14) = 377
fib(15) = 610
fib(16) = 987
fib(17) = 1597
fib(18) = 2584
fib(19) = 4181
fib(20) = 6765
[...]

55 is fib(10), the 10th Fibonacci number, and 5+5 = 10. That is, digsum(fib(10)) = 10. What other Fibonacci numbers work like that? I soon found some and confirmed my answer at the Online Encyclopedia of Integer Sequences:


1, 5, 10, 31, 35, 62, 72, 175, 180, 216, 251, 252, 360, 494, 504, 540, 946, 1188, 2222 — A020995 at OEIS

And that seems to be the lot, according to the OEIS. In base 10, at least, but why stop at base 10? When I looked at base 11, the numbers of digsum(fib(k)) = k didn’t stop coming, because I couldn’t take the Fibonacci numbers very high on my computer. But the OEIS gives a much longer list, starting like this:


1, 5, 13, 41, 53, 55, 60, 61, 90, 97, 169, 185, 193, 215, 265, 269, 353, 355, 385, 397, 437, 481, 493, 617, 629, 630, 653, 713, 750, 769, 780, 889, 905, 960, 1013, 1025, 1045, 1205, 1320, 1405, 1435, 1501, 1620, 1650, 1657, 1705, 1735, 1769, 1793, 1913, 1981, 2125, 2153, 2280, 2297, 2389, 2413, 2460, 2465, 2509, 2533, 2549, 2609, 2610, 2633, 2730, 2749, 2845, 2893, 2915, 3041, 3055, 3155, 3209, 3360, 3475, 3485, 3521, 3641, 3721, 3749, 3757, 3761, 3840, 3865, 3929, 3941, 4075, 4273, 4301, 4650, 4937, 5195, 5209, 5435, 5489, 5490, 5700, 5917, 6169, 6253, 6335, 6361, 6373, 6401, 6581, 6593, 6701, 6750, 6941, 7021, 7349, 7577, 7595, 7693, 7740, 7805, 7873, 8009, 8017, 8215, 8341, 8495, 8737, 8861, 8970, 8995, 9120, 9133, 9181, 9269, 9277, 9535, 9541, 9737, 9935, 9953, 10297, 10609, 10789, 10855, 11317, 11809, 12029, 12175... — A020995 at OEIS

The list ends with 1636597 = A18666[b11] and the OEIS says that 1636597 almost certainly completes the list. According to David C. Terr’s paper “On the Sums of Fibonacci Numbers” (pdf), published in the Fibonacci Quarterly in 1996, the estimated digit-sum for the k-th Fibonacci number in base b is given by the formula (b-1)/2 * k * log(b,φ), where log(b,φ) is the logarithm in base b of the golden ratio, 1·61803398874… Terr then notes that the simplified formula (b-1)/2 * log(b,φ) gives the estimated average ratio digsum(fib(k)) / k in base b. Here are the estimates for bases 2 to 20:


b02 = 0.3471209568153086...
b03 = 0.4380178794859424...
b04 = 0.5206814352229629...
b05 = 0.5979874356654401...
b06 = 0.6714235829697111...
b07 = 0.7418818776805580...
b08 = 0.8099488992357201...
b09 = 0.8760357589718848...
b10 = 0.9404443811249043...
b11 = 1.0034045909311624...
b12 = 1.0650963641043091...
b13 = 1.1256639207937723...
b14 = 1.1852250528196852...
b15 = 1.2438775226715552...
b16 = 1.3017035880574074...
b17 = 1.3587732842474014...
b18 = 1.4151468584732730...
b19 = 1.4708766105122322...
b20 = 1.5260083080264088...

In base 2, you can expect digsum(fib(k)) to be much smaller than k; in base 20, you can expect digsum(fib(k)) to be much larger. But as you can see, the estimate for base 11, 1.0034045909311624…, is very nearly 1. That’s why base 11 produces so many results for digsum(fib(k)) = k, because only a slight deviation from the estimate might create a perfect ratio of 1 for digsum(fib(k)) / k, i.e. digsum(fib(k)) = k. But in the end the results run out in base 11 too, because as k gets higher and fib(k) gets bigger, the estimate becomes more and more accurate and digsum(fib(k)) > k. With lower k, digsum(fib(k)) can easily fall below k or match k. That happens in other bases, but because their estimates are further from 1, results for digsum(fib(k)) = k run out much more quickly.

To see this base behavior represented visually, I’ve created Ulam-like spirals for k using three colors: blue for digsum(fib(k)) < k, yellow for digsum(fib(k)) > k, and red for digsum(fib(k)) = k (with the green square at the center representing fib(1) = 1). As you can see below, the spiral for base 11 immediately stands out. It’s motley, not dominated by blue or yellow like the other spirals:

Spiral for digsum(fib(k)) in base 9
(blue for digsum(fib(k)) < k, yellow for digsum(fib(k)) > k, red for digsum(fib(k)) = k, green for fib(1))


Spiral for digsum(fib(k)) in base 10


Spiral for digsum(fib(k)) in base 11 — a motley view of blue, yellow and red


Spiral for digsum(fib(k)) in base 12


Spiral for digsum(fib(k)) in base 13


Finally, here are spirals at higher and higher resolution for digsum(fib(k)) = k in base 11:

digsum(fib(k)) = k in base 11 (low resolution)
(green square is fib(1))


digsum(fib(k)) = k in base 11 (x2 resolution)


digsum(fib(k)) = k in base 11 (x4)


digsum(fib(k)) = k in base 11 (x8)


digsum(fib(k)) = k in base 11 (x16)


digsum(fib(k)) = k in base 11 (x32)


digsum(fib(k)) = k in base 11 (x64)


digsum(fib(k)) = k in base 11 (x128)


digsum(fib(k)) = k in base 11 (animated)

Triangular Squares

The numbers that are both square and triangular are beautifully related to the best approximations to √2:

Number

Square Root

Factors of root

1 1 1
36 6 2 * 3
1225 35 5 * 7
41616 204 12 * 17

and so on.

In each case the factors of the root are the numerator and denominator of the next approximation to √2. — David Wells, The Penguin Dictionary of Curious and Interesting Mathematics (1986), entry for “36”.


Elsewhere other-accessible

A001110 — Square triangular numbers: numbers that are both triangular and square