Ответ:

1. Из условия 3, работающий в Иркутске преподает химию. Из условия 1, Дмитрий не в Иркутске. Следовательно, Дмитрий не преподает химию.

2. Из условия 4, Дмитрий не преподает биологию. Так как Дмитрий не преподает химию (из п.1) и не преподает биологию, он преподает физику.

3. Из условия 2, москвич не преподает физику. Так как Дмитрий преподает физику, он не москвич. Из условия 1, Богдан работает не в Москве, а Дмитрий не в Иркутске. Следовательно, Дмитрий работает в Ульяновске.

4. Из условия 1, Богдан работает не в Москве. Из условия 3, работающий в Иркутске преподает химию. Если бы Богдан работал в Иркутске, он бы преподавал химию. Но тогда Николай преподавал бы биологию или физику. Если Богдан работает в Ульяновске, то Николай работает в Иркутске и преподает химию. Тогда Богдан преподает биологию или физику. Но Дмитрий преподает физику. Значит, Богдан преподает биологию.

5. Николай работает в Иркутске и преподает химию. Богдан работает в Ульяновске и преподает биологию. Дмитрий работает в Ульяновске и преподает физику.