Cada vez que vas a elegir un número, antes de darlo por bueno, recorres lo que lleves construido del array para ver si está:
int array[20];
int boolRepetido;
for (int c = 0; c < 20; c++) {
array[c] = random(100);
boolRepetido = false;
do {
for (int c2 = 0; c2 < c; c2++)
if (array[c2] == array[c]) {
boolRepetido = true;
break;
}
} while (boolRepetido);