Glam Prestige Journal

Bright entertainment trends with youth appeal.

$\begingroup$

Collatz conjecture but with $\ 3n-1\ $ instead of $\ 3n+1.\ $ Do any sequences go off to $\ +\infty\ $?

$$$$Background (not necessary to answer my question):

Considering the following operation on an arbitrary positive integer:

  • If the number is even, divide it by two.
  • If the number is odd, triple it and add one.

The Collatz conjecture is: This process will eventually reach the number $1$, regardless of which positive integer is chosen initially.

If the Collatz conjecture is false, then either there will be cycles that don't contain the number $\ 1,\ $ or there will be a (at least one) sequence that goes off to $\ +\infty.$

My question:

Considering the following operation on an arbitrary positive integer:

  • If the number is even, divide it by two.
  • If the number is odd, triple it and take away one.

An analogue to the Collatz conjecture with these rules fails, because $\ 5\to 14\to 7\to 20\to 10\to\ 5\ $ is a cycle that does not contain $\ 1.\ $ In fact, there are lots of cycles that don't contain $\ 1\ $ that I found with the Python code below.

My question is do any sequences with this $\ 3n-1\ $ rule go off to $\ +\infty,\ $ or not?

It seems "less likely" than the likelihood Collatz sequences will go off to $\ +\infty,\ $ but proving such a thing seems hard.

Edit: I have checked all numbers up to $\ 5000\ $ using the code below and every sequence either goes to $\ 1\ $ or is in a loop. Also, there are no really long sequences (relative to number size) as opposed to some small starting numbers in the Collatz conjecture, like $\ n=27,\ $ which has $\ 111\ $ steps. This seems to suggest that no sequence goes off to infinity, and there should be some (relatively simple?) number theory proof for this.

$$$$

def collatz2(n): if n % 2 == 0: return int(n/2) else: return 3*n-1
def collatz_sequence2(n): sequence = [n] while n != 1: n = collatz2(n) sequence += [n] if n in sequence[:-1]: print(sequence[0], "is in a loop not containing 1:",) break return sequence
for i in range(1,100): print(i, ':', collatz_sequence2(i))
$\endgroup$ 9 Reset to default

Know someone who can answer? Share a link to this question via email, Twitter, or Facebook.

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy