Для получения списка всех чисел, которые используются в данной формуле, можно воспользоваться следующим кодом на Python:
```python
import random
# Формула y = x**2 + 3*x + 5
numbers = []
for _ in range(10):
x = random.choice(range(10))
y = x**2 + 3*x + 5
numbers.extend([x, y])
print(numbers)
```
Для модификации программы таким образом, чтобы помимо результата были выведены все числа, которые были использованы для его получения, можно сохранить значения `x` и `y` в отдельные списки. Пример модифицированного кода:
```python
import random
# Формула y = x**2 + 3*x + 5
xs = []
ys = []
numbers = []
for _ in range(10):
x = random.choice(range(10))
xs.append(x)
y = x**2 + 3*x + 5
ys.append(y)
numbers.extend([x, y])
print("Values of x:", xs)
print("Values of y:", ys)
print("All numbers used in the formula:", numbers)
```
Таким образом, после выполнения программы, помимо результата вычислений, будут также выведены все числа, которые были использованы для его получения.