Random fade 6 LEDs?

I am working on a project that I would like to have the LEDs fade randomly. I like using this code for using RGB LEDs but making it work for more than 3 Dies has been a problem.

// 2009 Kenneth Finnegan
// kennethfinnegan.blogspot.com

// Pins. Must be PWM pins.
#define REDLED 9
#define BLUELED 10
#define GREENLED 11
// Can't be higher than 255
#define MAXBRIGHT 200

// s[tate] t[arget] colors
byte s[3] = {0}, t[3] = {0};

void setup() {
  // Make the random MORE RANDOM!
  randomSeed(analogRead(0));
  
  // Initialization wiring check
  // You should see RED, BLUE, then GREEN.
  // If you don't, then you ballsed something up.
  analogWrite(REDLED, MAXBRIGHT);
  delay(1000);
  analogWrite(REDLED, 0);
  analogWrite(BLUELED, MAXBRIGHT);
  delay(1000);
  analogWrite(BLUELED, 0);
  analogWrite(GREENLED, MAXBRIGHT);
  delay(1000);
  analogWrite(GREENLED, 0);
}

void loop() {
  byte i, offset;
  
  // Select the next target color
  // Start from a random one of the three colors to prevent
  // the cycle from being red biased.
  offset = random(3);
  t[offset] = random(MAXBRIGHT);
  t[(offset+1)%3] = random(MAXBRIGHT - t[offset]);
  t[(offset+2)%3] = MAXBRIGHT - t[offset] - t[(offset+1)%3];
  
  // Slowly drift to the new target color 1 at a time until
  // it has been reached
  while(s[0]!=t[0] || s[1]!=t[1] || s[2] != t[2]) {
    for (i = 0; i<3; i++) {
      if (s[i] > t[i]) {
        s[i] = s[i] - 1;
      } else if (s[i] < t[i]) {
        s[i] = s[i] + 1;
      }
      analogWrite(REDLED, s[0]);
      analogWrite(BLUELED, s[1]);
      analogWrite(GREENLED, s[2]);
      delay(10);
    }
  }
  analogWrite(REDLED, s[0]);
  analogWrite(BLUELED, s[1]);
  analogWrite(GREENLED, s[2]);
  // Let the viewer enjoy the new color before
  // selecting the next target color.
  delay(2000);
}

If you look at the analogue write page in the reference it says:-

On most Arduino boards (those with the ATmega168 or ATmega328), this function works on pins 3, 5, 6, 9, 10, and 11. On the Arduino Mega, it works on pins 2 through 13. Older Arduino boards with an ATmega8 only support analogWrite() on pins 9, 10, and 11.

So you would have to use pins 3, 5 & 6 for another LED. Did you use them when you tried to extend the code? What did you end up with when you extended it?

This is what I have. Not so sure on how to modify the algorithm.

d// 2009 Kenneth Finnegan
// kennethfinnegan.blogspot.com

// Pins. Must be PWM pins.
#define LED0 11
#define LED1 10
#define LED2 9
#define LED3 6
#define LED4 5
#define LED5 3

// Can't be higher than 255
#define MAXBRIGHT 255

// s[tate] t[arget] colors
byte s[3] = {0}, t[3] = {0};

void setup() {
  // Make the random MORE RANDOM!
  randomSeed(analogRead(0));
  
  // Initialization wiring check
  // You should see each LED blink.
  // If you don't, then you ballsed something up.
  
  //LED0
  analogWrite(LED0, MAXBRIGHT);
  delay(1000);
  analogWrite(LED0, 0);
  
  //LED1
  analogWrite(LED1, MAXBRIGHT);
  delay(1000);
  analogWrite(LED1, 0);
  
  //LED2
  analogWrite(LED2, MAXBRIGHT);
  delay(1000);
  analogWrite(LED2, 0);
  
  //LED3
  analogWrite(LED3, MAXBRIGHT);
  delay(1000);
  analogWrite(LED3, 0);
  
  //LED4
  analogWrite(LED4, MAXBRIGHT);
  delay(1000);
  analogWrite(LED4, 0);
  
  //LED5
  analogWrite(LED5, MAXBRIGHT);
  delay(1000);
  analogWrite(LED5, 0);
}

void loop() {
  byte i, offset;
  
  // Select the next target color
  // Start from a random one of the three colors to prevent
  // the cycle from being red biased.
  offset = random(3);
  t[offset] = random(MAXBRIGHT);
  t[(offset+1)%3] = random(MAXBRIGHT - t[offset]);
  t[(offset+2)%3] = MAXBRIGHT - t[offset] - t[(offset+1)%3];
  
  // Slowly drift to the new target color 1 at a time until
  // it has been reached
  while(s[0]!=t[0] || s[1]!=t[1] || s[2] != t[2]) {
    for (i = 0; i<3; i++) {
      if (s[i] > t[i]) {
        s[i] = s[i] - 1;
      } else if (s[i] < t[i]) {
        s[i] = s[i] + 1;
      }
      analogWrite(LED0, s[0]);
      analogWrite(LED1, s[1]);
      analogWrite(LED2, s[2]);
      analogWrite(LED3, s[3]);
      analogWrite(LED4, s[4]);
      analogWrite(LED5, s[5]);
      delay(10);
    }
  }
  analogWrite(LED0, s[0]);
  analogWrite(LED1, s[1]);
  analogWrite(LED2, s[2]);
  analogWrite(LED3, s[3]);
  analogWrite(LED4, s[4]);
  analogWrite(LED5, s[5]);
  // Let the viewer enjoy the new color before
  // selecting the next target color.
  delay(2000);
}d

I think I have it

Change

// s[tate] t[arget] colors
byte s[3] = {0}, [glow]t[3][/glow] = {0};

TO

// s[tate] t[arget] colors
byte s[3] = {0}, [glow]t[6][/glow] = {0};