Haskell, 215 Characters
a=[1..]
b c(d:e)=(d`div`2):b(c+1)(f e)where f e=g++f h where(_:g, h)=splitAt(c+1)e
c@(_:d)=b 1 a
main=print.cycle.take 6$zipWith3(\e f g->(+g).(*3).head$filter((==f-e).(\h->length$filter((==0).mod h)[1..h]))a) c d a
Can you unravel the logic?
Spoiler:
c (line 3) is the result of halving the numbers in A056526, and main is then generated from A130826.