%I #19 Dec 04 2022 13:05:34
%S 2,-1,49,-1,2,2,535,-1,3843,899,49,197,12,52,9,-1,9,10,2,9,2,2,35,9,2,
%T 2,147,2,2141,2095,32991,-1,258055,63495,3849,15367,961,906,226,3603,
%U 56,201,49,197,49,49,50,789,56,56,42,209,50,42,44,41,10,12,10,41
%N Least integer k in A031443 such that k*n is also in A031443, or -1 if there is no such k.
%C It's clear that a(2^i)=-1 if i>0, because 2^i*n always has more 0's than n does. I do not know if every number other than a power
%C of 2 has such a k. Local maxima seem to be near odd powers of 2. It is not hard to show that a(2^n +- 1)!=-1 for n>=1.
%H Rémy Sigrist, <a href="/A358857/b358857.txt">Table of n, a(n) for n = 1..10000</a>
%H Rémy Sigrist, <a href="/A358857/a358857.gp.txt">PARI program</a>
%F a(n) = A358858(n)/n unless a(n) = -1. - _Pontus von Brömssen_, Dec 03 2022
%e For n = 3 both 49 = [110001] and 49*3 = [10010011] have the same number of 0's as 1's, and this is the least such.
%o (Python)
%o from itertools import count
%o from sympy.utilities.iterables import multiset_permutations
%o def isbalanced(n): b = bin(n)[2:]; return b.count("0") == b.count("1")
%o def A031443gen(): yield from (int("1"+"".join(p), 2) for n in count(1) for p in multiset_permutations("0"*n+"1"*(n-1)))
%o def a(n):
%o if n > 1 and bin(n)[2:].strip("0") == "1": return -1
%o return next(k for k in A031443gen() if isbalanced(k*n))
%o print([a(n) for n in range(1, 61)]) # _Michael S. Branicky_, Dec 03 2022
%o (PARI) See Links section.
%Y Cf. A031443, A358858.
%K sign,base
%O 1,1
%A _Jeffrey Shallit_, Dec 03 2022