ЭЭЭ... у нас за цвет отвечает 1 байт. всего 256 разных значений. Что мешает сделать так?
1. Определить базовые цвета.
2. Сделать таблицу в 256 где перечислить все возможные комбинации базовых цветов.
3. При выводе просто брать байт из этой таблицы, без каких либо вычислений.