Here is some code that should give some bounds. Note that is very inefficient, since it e.g. considers all congruence classes $1 \mod 3$ separately. It's probably more efficient to search the congruence classes in a tree-like fashion: first look at everything modulo 3, then only refine $2 \mod 3$ to $2, 5 \mod 6$ etc.
import math
def bounds(k):
m = 3
for i in range (1, k + 1):
if i % 3:
m = i * m // math.gcd(i, m)
print("modulus: " + str(m))
red, blue, unknown = 0, 0, 0
total = 0
for i in range (0, m):
if i % 3 == 0:
continue
total += 1
if i % 3 == 1:
red += 1
continue
d = []
for j in range (1, k + 1):
if i % j == 0:
if j % 3 == 2:
if len(d) % 2 == 0:
red += 1
break
else:
blue += 1
break
d.append(j)
else:
unknown += 1
print("red: {}\nblue: {}\nunknown: {}".format(red / total, blue / total, unknown / total))
Result:
>>> bounds(22)
modulus: 77597520
red: 0.5047129341246989
blue: 0.32416407122289476
unknown: 0.1711229946524064