Four Fours problem: Any number with One Four
The four fours puzzle is a recreational puzzle that asks: can you create an expression using four fours and some arithmetic operations that evaluates to some number n? The problem often specifies some operations such as addition, subtraction, multiplication, division, exponentiation, concatenation (e.g. 44), negation, decimal point, repeating decimal, square root, nth root, and factorial.
To get numbers larger than 100 (for example 113) you must use some additional operations. Different people like to introduce operations such as percent (see David Bevan’s site) or the gamma function (see Dave Wheeler’s site). Pete Karsanow’s site has a number of good links to other solutions sites.
Some people have demonstrated that it is possible to get any number with three fours if you introduce the logarithm function (for example see here). (Thus the logarithm function is generally disallowed as an operation in the four fours problem.) Paul Bourke has a contribution by “whetstone” that shows how to get any number with two fours if you use the logarithm function and the percent sign.
This page shows that it is possible to create any number with one four using trigonometric functions. In short:
n = sec(atan(…(sec(atan(4))…)) (n^{2}4^{2} times), for n>4
n = tan(asec(…(tan(asec(4))…)) (4^{2}n^{2} times), for n=0, 1, 2, 3
n = 4, for n = 4
Using the trigonometric relation for the tangent and secant functions
tan^{2}(u)+1 = sec^{2}(u)
you can then derive that
sec(atan(x)) = sqrt(x^{2}+1)
(This does not depend on whether you are using degrees or radians!) Therefore
sec(atan(sec(atan(x)))) = sqrt((sqrt(x^{2}+1))^{2}+1) = sqrt(x^{2}+2)
sec(atan(…(sec(atan(x))…)) (k times) = sqrt(x^{2}+k)
Thus repeated application of sec(atan()) will create the next largest square root in a sequence. For example, the table shows a formula that evaluates to 5 using just one 4 and the secant and arctangent functions.
x 
sec(atan(x)) 

4 
4.123105626 
sec(atan(4)) 
4.123105626 
4.242640687 
sec(atan(sec(atan(4)))) 
4.242640687 
4.358898944 
sec(atan(sec(atan(sec(atan(4)))))) 
4.358898944 
4.472135955 
sec(atan(sec(atan(sec(atan(sec(atan(4)))))))) 
4.472135955 
4.582575695 
sec(atan(sec(atan(sec(atan(sec(atan(sec(atan(4)))))))))) 
4.582575695 
4.69041576 
sec(atan(sec(atan(sec(atan(sec(atan(sec(atan(sec(atan(4)))))))))))) 
4.69041576 
4.795831523 
sec(atan(sec(atan(sec(atan(sec(atan(sec(atan(sec(atan(sec(atan(4)))))))))))))) 
4.795831523 
4.898979486 
sec(atan(sec(atan(sec(atan(sec(atan(sec(atan(sec(atan(sec(atan(sec(atan(4)))))))))))))))) 
4.898979486 
5 
sec(atan(sec(atan(sec(atan(sec(atan(sec(atan(sec(atan(sec(atan(sec(atan(sec(atan(4)))))))))))))))))) 
The last line shows the expression for 5 that uses just one four.
For any integer n greater than 4, there is a k that satisfies the equation above (specifically k = n^{2}4^{2}). This means that the number of times you need to apply sec(atan()) is n^{2}4^{2} for any n greater than 4. (It takes a lot of operations, but it is possible!)
n = sec(atan(…(sec(atan(4))…)) (n^{2}4^{2} times), for n>4
To create an expression for the numbers 3, 2, 1, and 0 using one four, the same expression
tan^{2}(u) = sec^{2}(u)1
yields the formula
tan(asec(x)) = sqrt(x^{2}1)
So repeated application of tan(asec()) gives the next lowest square root in a sequence.
n = tan(asec(…(tan(asec(4))…)) (4^{2}n^{2} times), for n=0, 1, 2, 3
The following table shows the expression for 3, 2, 1, and 0.
x 
tan(asec(x)) 

4 
3.872983346 
tan(asec(4)) 
3.872983346 
3.741657387 
tan(asec(tan(asec(4)))) 
3.741657387 
3.605551275 
tan(asec(tan(asec(tan(asec(4)))))) 
3.605551275 
3.464101615 
tan(asec(tan(asec(tan(asec(tan(asec(4)))))))) 
3.464101615 
3.31662479 
tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(4)))))))))) 
3.31662479 
3.16227766 
tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(4)))))))))))) 
3.16227766 
3 
tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(4)))))))))))))) 
3 
2.828427125 
tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(4)))))))))))))))) 
2.828427125 
2.645751311 
tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(4)))))))))))))))))) 
2.645751311 
2.449489743 
tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(4)))))))))))))))))))) 
2.449489743 
2.236067977 
tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(4)))))))))))))))))))))) 
2.236067977 
2 
tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(4)))))))))))))))))))))))) 
2 
1.732050808 
tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(4)))))))))))))))))))))))))) 
1.732050808 
1.414213562 
tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(4)))))))))))))))))))))))))))) 
1.414213562 
1 
tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(4)))))))))))))))))))))))))))))) 
1 
0 
tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(tan(asec(4)))))))))))))))))))))))))))))))) 
Some people like to do the problem using combinations of different numbers besides four, for example, four zeros. Using the approach above, you can create any number using one of any digit, for example zero. The table below shows the expressions for 0, 1, 2, and 3 using one zero.
x 
sec(atan(x)) 

0 
1 
sec(atan(0)) 
1 
1.414213562 
sec(atan(sec(atan(0)))) 
1.414213562 
1.732050808 
sec(atan(sec(atan(sec(atan(0)))))) 
1.732050808 
2 
sec(atan(sec(atan(sec(atan(sec(atan(0)))))))) 
2 
2.236067977 
sec(atan(sec(atan(sec(atan(sec(atan(sec(atan(0)))))))))) 
2.236067977 
2.449489743 
sec(atan(sec(atan(sec(atan(sec(atan(sec(atan(sec(atan(0)))))))))))) 
2.449489743 
2.645751311 
sec(atan(sec(atan(sec(atan(sec(atan(sec(atan(sec(atan(sec(atan(0)))))))))))))) 
2.645751311 
2.828427125 
sec(atan(sec(atan(sec(atan(sec(atan(sec(atan(sec(atan(sec(atan(sec(atan(0)))))))))))))))) 
2.828427125 
3 
sec(atan(sec(atan(sec(atan(sec(atan(sec(atan(sec(atan(sec(atan(sec(atan(sec(atan(0)))))))))))))))))) 
The number of operations sec(atan()) you need to create an expression that evaluates to n is n^{2}.
n = sec(atan(…(sec(atan(0))…)) (n^{2} times), for n>0
The same approach is possible using the cosecant and cotangent functions.
cot^{2}(u)+1 = csc^{2}(u)
Therefore
csc(acot(x)) = sqrt(x^{2}+1)
cot(acsc(x)) = sqrt(x^{2}1)
So repeated applications of csc(acot()) give the next largest square root in a sequence, similar to sec(atan()) above.
Back to fractal designs using pattern blocks.
Copyright 2006 by Jim Millar