Le Monde puzzle [#919]
A rather straightforward Le Monde mathematical puzzle:
Find 3 digit integers x such that the integer created by collating x with (x+1) gives a 6 digit integer that is a perfect square.
Easy once you rewrite the constraint as 1000x+x+1 being a perfect square a², which means that x is equal to (a-1)(a+1)/1001, hence that 1001=7x11x13 divides either a+1 or a=1.
sol=NULL vals=as.vector(outer(c(7,11,13),1:999,"*")) vals=c(vals-1,vals+1) for (a in vals){ x=round((a-1)*(a+1)/1001) if ((1000*x+x+1==a^2)&(x<999)&(x>99)) sol=c(sol,x)}
which returns four solutions:
> unique(sol) [1] 183 328 528 715
An addendum to the puzzle is
Find 4 digit integers x such that the integer created by collating x with (x+1) gives an 8 digit integrer that is a perfect square.
Similarly easy once you rewrite the constraint as 10,000x+x+1 being a perfect square a², which means that x is equal to (a-1)(a+1)/10,001, hence that 10,001=73×137 divides either a+1 or a=1.
sol=NULL vals=as.vector(outer(c(73,137),(1:9999),"*")) vals=c(vals-1,vals+1) for (a in vals){ x=round((a-1)*(a+1)/10001) if ((10000*x+x+1==a^2)&(x<9999)&(x>999)) sol=c(sol,x)}
leading to the conclusion there is a single solution:
> unique(sol) [1] 6099
Leave a Reply