Source: TW
Pāṇini cannot predate the 6th century BC as he is aware of Maskarin Gośāla or other ascetics bearing bamboo staffs [maskara-maskariṇau veṇu-parivrājakayoḥ, 6.1.154] and knows of the name Mahābhārata rather than simply Bhārata or Jaya [mahān vrīhy-aparāhṇa…bhārata…pravṛddheṣu, 6.2.38].
It’s also highly likely that cannot predate 5th century BC, as he is aware of “Yavanānī” script [Indra-Varuṇa-Bhava-Śarva-Rudra…Yavana-mātulācāryāṇām ānuk, 4.1.49] and viṃśatika coins.
Yet he must predate the Mauryan period when one examples the order in which he lists the nakṣatras in 4.3.34.
This makes the Nanda period most likely.
Kātyāyana lived sometime between Pāṇini and Patañjali and Patañjali likely dates to the Śuṅga period.
He may’ve even been Puṣyamitra’s purohita based on the example “iha Puṣyamitraṃ yājayāmaḥ” (here we make Puṣyamitra conduct a sacrifice, i.e. we conduct the sacrifice for Puṣyamitra) in his Mahābhāṣya. Patañjali also mentions “aruṇad Yavanaḥ Sāketam”, i.e. the Greek man besieged Sāketa/Ayodhyā, in reference to Menander’s siege of Ayodhyā. This form aruṇat (from “ruṇaddhi”), is in the imperfect, implying that Menander and Patañjali were roughly contemporary enough for Patañjali to have plausibly witnessed it. If Menander’s siege of Ayodhyā predated Patañjali, he would’ve instead used the perfect in accordance with “parokṣe liṭ.”