Tribonacci sequence

A simplistic puzzle from The Riddler when applying brute force:

A Tribonacci sequence is based on three entry integers a ≤ b ≤ c, and subsequent terms are the sum of the previous three. Among Tribonacci sequences containing 2023, which one achieves the smallest fourth term, a+b+c ?

The R code

tri<-function(a,b,e){
  while(F<2023){
  F=a+b+e;a=b;b=e;e=F}
  return(F<2024)}
sol=NULL;m=674
for(a in 1:m)
  for(b in a:m)
    for(e in b:m)
     if(tri(a,b,e)){
       sol=rbind(sol,c(a,b,e))}

leads to (1,1,6) as the solution… Incidentally, this short exercise led me to finally look for a fix to entering vectors as arguments of functions requesting lists:

do.call("tri",as.list(sol[2023,]))

3 Responses to “Tribonacci sequence”

  1. Note that if you remove the a\leq b\leq c constraint, you can get the solution (4, 1, 1), which coincides with your (1, 1, 6) solution at the next step.

    You can also push further back, and end up with negative integers (which don’t seem disallowed!). For example, starting with (-23, 3, 14) gives you -6 as the 4th value. You can get an arbitrarily low negative integer: (-90, -50, 91) gives -49, and eventually get to (1, 1, 6).

  2. João Neto Says:

    I suppose the entry (-2023,0,2023) also counts since the problem does not seem to ask for positive integer numbers.

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.