A square Le Monde mathematical puzzle:
Given a triplet (a,b,c) of integers, with a<b<c, it satisfies the S property when a+b, a+c, b+c, a+b+c are perfect squares such that a+c, b+c, and a+b+c are consecutive squares. For a given a, is it always possible to find a pair (b,c) such (a,b,c) satisfies S? Can you find the triplet (a,b,c) that produces the sum a+b+c closest to 1000?
This is a rather interesting challenge and a brute force resolution does not produce interesting results. For instance, using the function is.whole from the package Rmpfr, the R functions
ess <- function(a,b,k){ #assumes a<b<k ess=is.whole(sqrt(a+b))& is.whole(sqrt(b+k))& is.whole(sqrt(a+k))& is.whole(sqrt(a+b+k)) mezo=is.whole(sqrt(c((a+k+1):(b+k-1),(b+k+1):(a+b+k-1)))) return(ess&(sum(mezo==0))) }
and
quest1<-function(a){ b=a+1 while (b<1000*a){ if (is.whole(sqrt(a+b))){ k=b+1 while (k<100*b){ if (is.whole(sqrt(a+k))&is.whole(b+k)) if (ess(a,b,k)) break() k=k+1}} b=b+1} return(c(a,b,k)) }
do not return any solution when a=1,2,3,4,5
Looking at the property that a+b,a+c,b+c, and a+b+c are perfect squares α²,β²,γ², and δ². This implies that
a=(δ+γ)(δ-γ), b=(δ+β)(δ-β), and c=(δ+α)(δ-α)
with 1<α<β<γ<δ. If we assume β²,γ², and δ² consecutive squares, this means β=γ-1 and δ=γ+1, hence
a=2γ+1, b=4γ, and c=(γ+1+α)(γ+1-α)
which leads to only two terms to examine. Hence writing another R function
abc=function(al,ga){ a=2*ga+1 b=4*ga k=(ga+al+1)*(ga-al+1) return(c(a,b,k))}
and running a check for the smallest values of α and γ leads to the few solutions available:
> for (ga in 3:1e4) for(al in 1:(ga-2)) if (ess(abc(al,ga))) print(abc(al,ga)) [1] 41 80 41 320 [1] 57 112 672 [1] 97 192 2112 [1] 121 240 3360 [1] 177 352 7392 [1] 209 416 10400 [1] 281 560 19040 [1] 321 640 24960 [1] 409 816 40800 [1] 457 912 51072