/** 
 * Changes an int into a Greek letter combination.
 * @param index the original number
 * @return the letter combination
 */
 public static String GetString(int index, bool lowercase) {
     if (index < 1) return "";
     index--;
         
     int bytes = 1;
     int start = 0;
     int symbols = 24;  
     while (index >= symbols + start) {
         bytes++;
         start += symbols;
         symbols *= 24;
     }
           
     int c = index - start;
     char[] value = new char[bytes];
     while (bytes > 0) {
         bytes--;
         value[bytes] = (char)(c % 24);
         if (value[bytes] > 16) value[bytes]++;
         value[bytes] += (char)(lowercase ? 945 : 913);
         value[bytes] = SpecialSymbol.GetCorrespondingSymbol(value[bytes]);
         c /= 24;
     }
     
     return new String(value);
 }
        /// <summary>
        /// Changes an int into a Greek letter combination.
        /// </summary>
        /// <param name="index">the original number</param>
        /// <param name="lowercase"></param>
        /// <returns>the letter combination</returns>
        public static string GetString(int index, bool lowercase)
        {
            if (index < 1)
            {
                return("");
            }

            index--;

            var bytes   = 1;
            var start   = 0;
            var symbols = 24;

            while (index >= symbols + start)
            {
                bytes++;
                start   += symbols;
                symbols *= 24;
            }

            var c     = index - start;
            var value = new char[bytes];

            while (bytes > 0)
            {
                bytes--;
                value[bytes] = (char)(c % 24);
                if (value[bytes] > 16)
                {
                    value[bytes]++;
                }

                value[bytes] += (char)(lowercase ? 945 : 913);
                value[bytes]  = SpecialSymbol.GetCorrespondingSymbol(value[bytes]);
                c            /= 24;
            }

            return(new string(value));
        }