Может формула будет z = (x[i] + a[i])/2 ? Т.е. порядковый номер у элементов одиннаковый? Тогда цикл будет один. Решение на каком языке нужно? На С++ будет:
for (int i = 0; i < 40; ++i)
{
int z = (x[i] + a[i])/2;
//z - множество решений, каждый цикл будет принимать новое значение
}