Here you will find daily news and tutorials about R, contributed by over 750 bloggers.
There are many ways to follow us - By e-mail:On Facebook: If you are an R blogger yourself you are invited to add your own R content feed to this site (Non-English R bloggers should add themselves- here)

Find all integers with less than 11 digits that are perfect squares and can be written as a(a+6), a being an integer.

Eleven digits being too much for a brute force exploration of the form `for (t in 1:1e11)`…, some preliminary analysis is needed, but I could not figure out a reason why there is no solution apart from 2… (I checked up to 1e8!)

Since I had “guessed” the above puzzle from the solution published one week later (!), I checked the quality of my guesswork with my friend Jean-Louis Fouley, who gave me the genuine question, based on a different interpretation of a(a+6):

Find all integers with less than 11 digits that are perfect squares and can be written as x concatenated with (x+6), x being an integer.

This is more open to brute-force R exploration (with some help from stack overflow) since x only has five digits at most!

perfect=function(b){
x=FALSE
a=trunc(sqrt(b))
for (i in a:(a+1))
if (i^2==b) x=TRUE
return(x)}
for (x in 1:(1e6-1))
if (perfect(
as.numeric(paste(c(as.numeric(strsplit(as.character(x), "")[[1]]),
as.numeric(strsplit(as.character(x+6), "")[[1]])),collapse=""))))
print(x)

Which returns

[1] 15
[1] 38

and then crashes for x=99994, because

strsplit(as.character(1e+05), "")

does not return the six digits of 1e+05 but

[[1]]
[1] "1" "e" "+" "0" "5"

instead. Except for this value of x, no other solution is found using this R code. And for x=99994, y=99994100000 is not a perfect square.